{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "任务：基于zgpa_train.csv数据，建立RNN模型，预测股价：\n",
    "1.完成数据预处理，将序列数据转化为可用于RNN输入的数据\n",
    "2.对新数据zgpa_test.csv进行预测，可视化结果\n",
    "3.存储预测结果，并观察局部预测结果\n",
    "备注：模型结构：单层RNN，输出有5个神经元；每次使用前8个数据预测第9个数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2016-01-04</td>\n",
       "      <td>30.57</td>\n",
       "      <td>30.57</td>\n",
       "      <td>28.63</td>\n",
       "      <td>28.78</td>\n",
       "      <td>70997200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2016-01-05</td>\n",
       "      <td>28.41</td>\n",
       "      <td>29.54</td>\n",
       "      <td>28.23</td>\n",
       "      <td>29.23</td>\n",
       "      <td>87498504</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2016-01-06</td>\n",
       "      <td>29.03</td>\n",
       "      <td>29.39</td>\n",
       "      <td>28.73</td>\n",
       "      <td>29.26</td>\n",
       "      <td>48012112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2016-01-07</td>\n",
       "      <td>28.73</td>\n",
       "      <td>29.25</td>\n",
       "      <td>27.73</td>\n",
       "      <td>28.50</td>\n",
       "      <td>23647604</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2016-01-08</td>\n",
       "      <td>28.73</td>\n",
       "      <td>29.18</td>\n",
       "      <td>27.63</td>\n",
       "      <td>28.67</td>\n",
       "      <td>98239664</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date   open   high    low  close    volume\n",
       "0  2016-01-04  30.57  30.57  28.63  28.78  70997200\n",
       "1  2016-01-05  28.41  29.54  28.23  29.23  87498504\n",
       "2  2016-01-06  29.03  29.39  28.73  29.26  48012112\n",
       "3  2016-01-07  28.73  29.25  27.73  28.50  23647604\n",
       "4  2016-01-08  28.73  29.18  27.63  28.67  98239664"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "data = pd.read_csv('zgpa_train.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "731\n"
     ]
    }
   ],
   "source": [
    "price = data.loc[:,'close']\n",
    "num_data = price.shape[0]\n",
    "print(num_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "from matplotlib import pyplot as plt\n",
    "fig1 = plt.figure(figsize=(7,5))\n",
    "plt.plot(price)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x256b5adefd0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#normalie the data\n",
    "price_norm = price/max(price)\n",
    "plt.plot(price_norm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "sequence_length=8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def extract_data(data, slide):    \n",
    "    x = []\n",
    "    y = []    \n",
    "    for i in range(len(data) - slide):\n",
    "        x.append([a for a in data[i:i+slide]])\n",
    "        y.append(data[i+slide]) \n",
    "    x = np.array(x)\n",
    "    x = x.reshape(x.shape[0],x.shape[1],1)\n",
    "    return x,y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "X,y = extract_data(price_norm,sequence_length)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(723, 8, 1)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense,SimpleRNN\n",
    "model = Sequential()\n",
    "model.add(SimpleRNN(units=5,input_shape = (X.shape[1],X.shape[2]),activation='relu'))\n",
    "model.add(Dense(units=1,activation='linear'))\n",
    "model.compile(optimizer='adam',loss='mean_squared_error')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "simple_rnn_1 (SimpleRNN)     (None, 5)                 35        \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 6         \n",
      "=================================================================\n",
      "Total params: 41\n",
      "Trainable params: 41\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/200\n",
      "723/723 [==============================] - 0s 529us/step - loss: 0.3424\n",
      "Epoch 2/200\n",
      "723/723 [==============================] - 0s 126us/step - loss: 0.2289\n",
      "Epoch 3/200\n",
      "723/723 [==============================] - 0s 125us/step - loss: 0.1425\n",
      "Epoch 4/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 0.0914\n",
      "Epoch 5/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 0.0586\n",
      "Epoch 6/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 0.0359\n",
      "Epoch 7/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 0.0219\n",
      "Epoch 8/200\n",
      "723/723 [==============================] - 0s 141us/step - loss: 0.0131\n",
      "Epoch 9/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 0.0075\n",
      "Epoch 10/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 0.0041\n",
      "Epoch 11/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 0.0022\n",
      "Epoch 12/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 0.0012\n",
      "Epoch 13/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 8.1243e-04\n",
      "Epoch 14/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 6.3373e-04\n",
      "Epoch 15/200\n",
      "723/723 [==============================] - 0s 142us/step - loss: 5.3992e-04\n",
      "Epoch 16/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 4.8850e-04\n",
      "Epoch 17/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 4.5404e-04\n",
      "Epoch 18/200\n",
      "723/723 [==============================] - 0s 141us/step - loss: 4.2773e-04\n",
      "Epoch 19/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 4.1107e-04\n",
      "Epoch 20/200\n",
      "723/723 [==============================] - 0s 158us/step - loss: 3.9261e-04\n",
      "Epoch 21/200\n",
      "723/723 [==============================] - 0s 152us/step - loss: 3.9334e-04\n",
      "Epoch 22/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 3.7147e-04\n",
      "Epoch 23/200\n",
      "723/723 [==============================] - 0s 132us/step - loss: 3.6111e-04\n",
      "Epoch 24/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 3.7279e-04\n",
      "Epoch 25/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 3.4802e-04\n",
      "Epoch 26/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 3.4557e-04\n",
      "Epoch 27/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 3.2955e-04\n",
      "Epoch 28/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 3.1365e-04\n",
      "Epoch 29/200\n",
      "723/723 [==============================] - 0s 143us/step - loss: 3.0111e-04\n",
      "Epoch 30/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.8984e-04\n",
      "Epoch 31/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.7975e-04\n",
      "Epoch 32/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.7053e-04\n",
      "Epoch 33/200\n",
      "723/723 [==============================] - 0s 147us/step - loss: 2.6683e-04\n",
      "Epoch 34/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.6271e-04\n",
      "Epoch 35/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.5744e-04\n",
      "Epoch 36/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 2.5657e-04\n",
      "Epoch 37/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.5601e-04\n",
      "Epoch 38/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 2.5656e-04\n",
      "Epoch 39/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.4952e-04\n",
      "Epoch 40/200\n",
      "723/723 [==============================] - 0s 126us/step - loss: 2.4621e-04\n",
      "Epoch 41/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 2.4397e-04\n",
      "Epoch 42/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 2.4525e-04\n",
      "Epoch 43/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.5001e-04\n",
      "Epoch 44/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 2.4418e-04\n",
      "Epoch 45/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.4282e-04\n",
      "Epoch 46/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.4758e-04\n",
      "Epoch 47/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.3949e-04\n",
      "Epoch 48/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.4401e-04\n",
      "Epoch 49/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.3814e-04\n",
      "Epoch 50/200\n",
      "723/723 [==============================] - 0s 151us/step - loss: 2.3698e-04\n",
      "Epoch 51/200\n",
      "723/723 [==============================] - 0s 137us/step - loss: 2.3665e-04\n",
      "Epoch 52/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 2.3924e-04\n",
      "Epoch 53/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.3772e-04\n",
      "Epoch 54/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.3724e-04\n",
      "Epoch 55/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.4175e-04\n",
      "Epoch 56/200\n",
      "723/723 [==============================] - 0s 137us/step - loss: 2.4882e-04\n",
      "Epoch 57/200\n",
      "723/723 [==============================] - 0s 135us/step - loss: 2.4138e-04\n",
      "Epoch 58/200\n",
      "723/723 [==============================] - 0s 133us/step - loss: 2.4005e-04\n",
      "Epoch 59/200\n",
      "723/723 [==============================] - 0s 131us/step - loss: 2.3522e-04\n",
      "Epoch 60/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.3796e-04\n",
      "Epoch 61/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.3260e-04\n",
      "Epoch 62/200\n",
      "723/723 [==============================] - 0s 132us/step - loss: 2.3001e-04\n",
      "Epoch 63/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.3066e-04\n",
      "Epoch 64/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.2775e-04\n",
      "Epoch 65/200\n",
      "723/723 [==============================] - 0s 135us/step - loss: 2.2750e-04\n",
      "Epoch 66/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 2.2726e-04\n",
      "Epoch 67/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.2907e-04\n",
      "Epoch 68/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.2791e-04\n",
      "Epoch 69/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.2697e-04\n",
      "Epoch 70/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.3020e-04\n",
      "Epoch 71/200\n",
      "723/723 [==============================] - 0s 178us/step - loss: 2.2848e-04\n",
      "Epoch 72/200\n",
      "723/723 [==============================] - 0s 184us/step - loss: 2.2934e-04\n",
      "Epoch 73/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.3297e-04\n",
      "Epoch 74/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.3167e-04\n",
      "Epoch 75/200\n",
      "723/723 [==============================] - 0s 121us/step - loss: 2.3277e-04\n",
      "Epoch 76/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.2443e-04\n",
      "Epoch 77/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 2.2805e-04\n",
      "Epoch 78/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 2.2334e-04\n",
      "Epoch 79/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 2.1888e-04\n",
      "Epoch 80/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.2201e-04\n",
      "Epoch 81/200\n",
      "723/723 [==============================] - 0s 132us/step - loss: 2.1877e-04\n",
      "Epoch 82/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.2984e-04\n",
      "Epoch 83/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.2348e-04\n",
      "Epoch 84/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 2.2201e-04\n",
      "Epoch 85/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.2907e-04\n",
      "Epoch 86/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.1908e-04\n",
      "Epoch 87/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.1725e-04\n",
      "Epoch 88/200\n",
      "723/723 [==============================] - 0s 135us/step - loss: 2.2601e-04\n",
      "Epoch 89/200\n",
      "723/723 [==============================] - 0s 128us/step - loss: 2.2021e-04\n",
      "Epoch 90/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 2.1934e-04\n",
      "Epoch 91/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 2.2407e-04\n",
      "Epoch 92/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.1636e-04\n",
      "Epoch 93/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.1283e-04\n",
      "Epoch 94/200\n",
      "723/723 [==============================] - 0s 125us/step - loss: 2.1207e-04\n",
      "Epoch 95/200\n",
      "723/723 [==============================] - 0s 117us/step - loss: 2.1089e-04\n",
      "Epoch 96/200\n",
      "723/723 [==============================] - 0s 115us/step - loss: 2.1308e-04\n",
      "Epoch 97/200\n",
      "723/723 [==============================] - 0s 116us/step - loss: 2.1262e-04\n",
      "Epoch 98/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 2.1472e-04\n",
      "Epoch 99/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 2.1686e-04\n",
      "Epoch 100/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 2.1368e-04\n",
      "Epoch 101/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 2.0953e-04\n",
      "Epoch 102/200\n",
      "723/723 [==============================] - 0s 116us/step - loss: 2.1921e-04\n",
      "Epoch 103/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 2.0768e-04\n",
      "Epoch 104/200\n",
      "723/723 [==============================] - 0s 128us/step - loss: 2.0790e-04\n",
      "Epoch 105/200\n",
      "723/723 [==============================] - 0s 169us/step - loss: 2.1463e-04\n",
      "Epoch 106/200\n",
      "723/723 [==============================] - 0s 169us/step - loss: 2.1152e-04\n",
      "Epoch 107/200\n",
      "723/723 [==============================] - 0s 160us/step - loss: 2.1023e-04\n",
      "Epoch 108/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.0702e-04\n",
      "Epoch 109/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 2.0796e-04\n",
      "Epoch 110/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.0532e-04\n",
      "Epoch 111/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.0422e-04\n",
      "Epoch 112/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 2.0685e-04\n",
      "Epoch 113/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 2.1498e-04\n",
      "Epoch 114/200\n",
      "723/723 [==============================] - 0s 135us/step - loss: 2.0427e-04\n",
      "Epoch 115/200\n",
      "723/723 [==============================] - 0s 133us/step - loss: 2.0527e-04\n",
      "Epoch 116/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 2.0415e-04\n",
      "Epoch 117/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.0392e-04\n",
      "Epoch 118/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.0261e-04\n",
      "Epoch 119/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.0968e-04\n",
      "Epoch 120/200\n",
      "723/723 [==============================] - 0s 121us/step - loss: 2.0197e-04\n",
      "Epoch 121/200\n",
      "723/723 [==============================] - 0s 115us/step - loss: 2.0390e-04\n",
      "Epoch 122/200\n",
      "723/723 [==============================] - 0s 143us/step - loss: 2.0435e-04\n",
      "Epoch 123/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.0422e-04\n",
      "Epoch 124/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.0981e-04\n",
      "Epoch 125/200\n",
      "723/723 [==============================] - 0s 139us/step - loss: 2.0582e-04\n",
      "Epoch 126/200\n",
      "723/723 [==============================] - 0s 142us/step - loss: 2.0122e-04\n",
      "Epoch 127/200\n",
      "723/723 [==============================] - 0s 143us/step - loss: 2.0587e-04\n",
      "Epoch 128/200\n",
      "723/723 [==============================] - 0s 148us/step - loss: 2.0057e-04\n",
      "Epoch 129/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.0040e-04\n",
      "Epoch 130/200\n",
      "723/723 [==============================] - 0s 133us/step - loss: 2.0576e-04\n",
      "Epoch 131/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 2.0112e-04\n",
      "Epoch 132/200\n",
      "723/723 [==============================] - 0s 142us/step - loss: 2.0847e-04\n",
      "Epoch 133/200\n",
      "723/723 [==============================] - 0s 137us/step - loss: 2.0499e-04\n",
      "Epoch 134/200\n",
      "723/723 [==============================] - 0s 133us/step - loss: 1.9920e-04\n",
      "Epoch 135/200\n",
      "723/723 [==============================] - 0s 138us/step - loss: 2.1016e-04\n",
      "Epoch 136/200\n",
      "723/723 [==============================] - 0s 149us/step - loss: 1.9835e-04\n",
      "Epoch 137/200\n",
      "723/723 [==============================] - 0s 151us/step - loss: 2.0132e-04\n",
      "Epoch 138/200\n",
      "723/723 [==============================] - 0s 155us/step - loss: 2.0048e-04\n",
      "Epoch 139/200\n",
      "723/723 [==============================] - 0s 152us/step - loss: 2.0879e-04\n",
      "Epoch 140/200\n",
      "723/723 [==============================] - 0s 153us/step - loss: 1.9834e-04\n",
      "Epoch 141/200\n",
      "723/723 [==============================] - 0s 152us/step - loss: 2.0087e-04\n",
      "Epoch 142/200\n",
      "723/723 [==============================] - 0s 142us/step - loss: 1.9789e-04\n",
      "Epoch 143/200\n",
      "723/723 [==============================] - 0s 142us/step - loss: 1.9633e-04\n",
      "Epoch 144/200\n",
      "723/723 [==============================] - 0s 151us/step - loss: 2.0478e-04\n",
      "Epoch 145/200\n",
      "723/723 [==============================] - 0s 161us/step - loss: 2.0356e-04\n",
      "Epoch 146/200\n",
      "723/723 [==============================] - 0s 147us/step - loss: 1.9720e-04\n",
      "Epoch 147/200\n",
      "723/723 [==============================] - 0s 144us/step - loss: 2.0462e-04\n",
      "Epoch 148/200\n",
      "723/723 [==============================] - 0s 140us/step - loss: 2.1072e-04\n",
      "Epoch 149/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 1.9602e-04\n",
      "Epoch 150/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 1.9887e-04\n",
      "Epoch 151/200\n",
      "723/723 [==============================] - 0s 126us/step - loss: 2.0252e-04\n",
      "Epoch 152/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 1.9862e-04\n",
      "Epoch 153/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 2.0575e-04\n",
      "Epoch 154/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 2.1000e-04\n",
      "Epoch 155/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 1.9736e-04 0s - loss: 1.7223e-0\n",
      "Epoch 156/200\n",
      "723/723 [==============================] - 0s 132us/step - loss: 1.9614e-04\n",
      "Epoch 157/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 1.9581e-04\n",
      "Epoch 158/200\n",
      "723/723 [==============================] - 0s 124us/step - loss: 2.0295e-04\n",
      "Epoch 159/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 1.9506e-04\n",
      "Epoch 160/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 1.9551e-04\n",
      "Epoch 161/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 1.9855e-04\n",
      "Epoch 162/200\n",
      "723/723 [==============================] - 0s 134us/step - loss: 2.0048e-04\n",
      "Epoch 163/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 1.9808e-04\n",
      "Epoch 164/200\n",
      "723/723 [==============================] - 0s 130us/step - loss: 1.9760e-04\n",
      "Epoch 165/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 2.0298e-04\n",
      "Epoch 166/200\n",
      "723/723 [==============================] - 0s 128us/step - loss: 1.9535e-04\n",
      "Epoch 167/200\n",
      "723/723 [==============================] - 0s 137us/step - loss: 1.9101e-04\n",
      "Epoch 168/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 1.9735e-04\n",
      "Epoch 169/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 2.0771e-04\n",
      "Epoch 170/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.0296e-04\n",
      "Epoch 171/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 1.9469e-04\n",
      "Epoch 172/200\n",
      "723/723 [==============================] - 0s 121us/step - loss: 1.9379e-04\n",
      "Epoch 173/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.1124e-04\n",
      "Epoch 174/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 1.9551e-04\n",
      "Epoch 175/200\n",
      "723/723 [==============================] - 0s 126us/step - loss: 1.9506e-04\n",
      "Epoch 176/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.0055e-04\n",
      "Epoch 177/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 1.9956e-04\n",
      "Epoch 178/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 1.9314e-04\n",
      "Epoch 179/200\n",
      "723/723 [==============================] - 0s 116us/step - loss: 2.0214e-04\n",
      "Epoch 180/200\n",
      "723/723 [==============================] - 0s 122us/step - loss: 1.9929e-04\n",
      "Epoch 181/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 2.0243e-04\n",
      "Epoch 182/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 1.9856e-04\n",
      "Epoch 183/200\n",
      "723/723 [==============================] - 0s 123us/step - loss: 1.9313e-04\n",
      "Epoch 184/200\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "723/723 [==============================] - 0s 123us/step - loss: 1.9296e-04\n",
      "Epoch 185/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 1.9841e-04\n",
      "Epoch 186/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 1.9589e-04\n",
      "Epoch 187/200\n",
      "723/723 [==============================] - 0s 118us/step - loss: 1.8973e-04\n",
      "Epoch 188/200\n",
      "723/723 [==============================] - 0s 112us/step - loss: 2.0166e-04\n",
      "Epoch 189/200\n",
      "723/723 [==============================] - 0s 115us/step - loss: 2.0315e-04\n",
      "Epoch 190/200\n",
      "723/723 [==============================] - 0s 129us/step - loss: 1.9537e-04\n",
      "Epoch 191/200\n",
      "723/723 [==============================] - 0s 116us/step - loss: 1.9733e-04\n",
      "Epoch 192/200\n",
      "723/723 [==============================] - 0s 116us/step - loss: 1.8707e-04\n",
      "Epoch 193/200\n",
      "723/723 [==============================] - 0s 112us/step - loss: 1.9385e-04\n",
      "Epoch 194/200\n",
      "723/723 [==============================] - 0s 115us/step - loss: 1.9517e-04\n",
      "Epoch 195/200\n",
      "723/723 [==============================] - 0s 115us/step - loss: 1.8908e-04\n",
      "Epoch 196/200\n",
      "723/723 [==============================] - 0s 120us/step - loss: 1.8862e-04\n",
      "Epoch 197/200\n",
      "723/723 [==============================] - 0s 127us/step - loss: 2.1063e-04\n",
      "Epoch 198/200\n",
      "723/723 [==============================] - 0s 132us/step - loss: 2.0054e-04\n",
      "Epoch 199/200\n",
      "723/723 [==============================] - 0s 126us/step - loss: 1.9234e-04\n",
      "Epoch 200/200\n",
      "723/723 [==============================] - 0s 119us/step - loss: 1.9190e-04\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.callbacks.History at 0x256bca42fd0>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.fit(X,y,batch_size=30,epochs=200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#make prediction\n",
    "y_train_predict = model.predict(X)\n",
    "y_train_predict = y_train_predict*max(price)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "font2 = {'family' : 'SimHei',\n",
    "'weight' : 'normal',\n",
    "'size'   : 20,\n",
    "}\n",
    "mpl.rcParams['font.family'] = 'SimHei'\n",
    "mpl.rcParams['axes.unicode_minus'] = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfQAAAFaCAYAAADowK8UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOydd5hURbbAfzWxJ2eGzJCjLkowuyDqomtOiC7q7mLWNfJwlVVcc3irrpjDYlrDE1fFFRUVBIlmRZE4AzMDDJOYnhzr/XFud98Ok2BmekL9vq+/6Vu3bt26t+/cU+fUqXOU1hqDwWAwGAxdm5Bgd8BgMBgMBsOBYwS6wWAwGAzdACPQDQaDwWDoBhiBbjAYDAZDN8AIdIPBYDAYugFGoBsMBoPB0A0wAt2AUuogpdRvgt2PjkAplRrk8zusT6v/95RSoUqpaKWUo4k68Y2Uh7X2fJ2V/b0WpVSUUmqiUip9P4+PVkql7M+xB4JSSnX0OQ1dEyPQDQDvAh+3pKJSKkQpNeoAPyE+bUYrpTKUUulKqdQWfNKUUn2UUkNac5FKqeuAX5VS/Vp5XEIj19HbVifQ/oEBmpsPVAL1Sindmg9QB5QDtzTSz9HAbqXUHQF2/00p9blSakwrrvsrpdSyAOVDlFLrlFLHt7StRtpX1r2NDCS0rGctWikVbSsbBGxRSv3JVta/kU+iT5MDgK+As1rYv1CfoieBVVYf2gSlVIxSaloT+5OAzUqpc1vQ1kzXYEUp9ZxSarf1vb9S6ialVKy1vUgp9UxLBgpKqXFKqa1KqRNafFGB2/G9l4b2QGttPj38A/wKZLewbgygD/AT7dPm9ANoK6wV1zkWqAI+A1QrjvtDI+d+ytof3sj+TwK0NQg4xOrLKNsnH1hg284F/s+2PRoYB0wABjTSz5us857iUx4BZFv7Dm/FdX8JfBSg/O/I4OKQFrTxmHXurdZzZv/0a+Fv/LStvQHAeqt8IRDdxHH/9OnLQKv8jy3o9xHAL0CsrWwksAPYBYy0lStgNfCnRtqaAOwDfhNg30VWny5r5NgZ1v6TmulvNLAB+AZwAE9j/U8jg8g817UAxcCSVvzPaOB3trJtLfjN1tvqXw28A4S09Nkzn/37dBsznOGAqLU+LaHa+nun1np+a06ilJoP3GFrw8V3wGmI5lrns+8ZIAp58bmbQoRoFFAf4DxpQCDTaD3wH+TFPl4pVRmgzi6ttdOnzNXfqVrr5dY5soAaq9xlAr9Pa32rbX+Fb+Na6x1KqULAV3vUVntl1nYD8puU+dQr1FoH6jfAH4GNwH99yi8D+gNbgGeVUhO11jW+BwegDp/fw9LyrkaEwk0BlLyFWutPbdv/Aj5C7mENMih5CngPETLDrX1VwDzgcuT3aUAsiFHIcwGA1jpbKXUM8DgwFPlNq4HbEaHhYjlQZWn3b1n9WOdqpqmLVkoNAxYD/9Bau++/1nqTUmoqsAL4XCl1rNZ6m9ZaK5myGmwdfxAyGLtIa70e+R0T8Dwvdv4MbAZeso7tb11ztXUPZiIDop+sfSADtEgg1/Wsaq0rlFLTgR+QAXINUKuUigGuBe7XWpcppUYiz96ipu6BDdezX+9T9hzwj0aOmYcMvFy8C8wBHgX+0sLzGvYDI9B7CNaLLaKR3Q1AQwATpYtqlxDRWtfZX+LWiywEzwvI67TIi0dprb9zFWqtvYSw1jpPKbUUeQE+69PvUqkigtQqi0K0s3u0pQL4cDlwVyPX4uLbRsrPQ17GdvwGDRaul51r3jq/mXO6uAh4IkD5DdbHxUzrY+c0RNh4YZltxwJX2u+JUqoXoqF9iAj8H4GXlFIXaq19fy/XvQ3FNuiyzKUOrXU5MBdIRgTkXtuhJwFjgP+xt6e1/h743hJGexFh/gVwnta6DtHcXeeJAzZqre3t+qG1rgYuU0o5tNbVSqk6q+29QI3Wusoqa0AE2++RQUWzWGbofwHvaK3vDXDu7Uqp3wGPAEW2XZV47plGtHnXVEGDrdx+ronAscAJ1nXEAXcDFyMDqQbkf7YW231Cfp8w4ExEWGINcn4D3A+kIladWOT5eQ0IVUqdCIyw2lji05cI5P/Ud7AdiBqgSGv9a6CdSql9yABSLlrrXOuefaOUWqy1XtqCcxj2AyPQew6PApc2U6e4kfJ/AtfZtu0vpn8jmkkV8gJKQeZ5qxCBHgXsRrQp8Bf6LuYC85VSUVrrx5rp542I4N2FtwB04RKsB2mtN7gKlVJHa62/DNSgNR+81Oq3L64+97O0N5D/HVf5BdbfNbZjNNBbKRWJvIBrLAEGHo1zLLDT+r4NeAFwCZGfgWXANdb2EcAntmN9mWf9dftCWIJ4IfI7XKm13quUmokIt5eVUrO11r7Xe5v1sVMH5Foa4P8ApcjL/xbrPMnIIOpfWutdvh2z7u1i4HMgHTjeZSFQ4sTX16o6DvEBGGU7vFZrvc3WViwywKwN0PdZwONKqUmuAtsA1Nfy0xgXI9MiJzdWQWv9M3CiT3ENnv+Llp7rFuBdrfWn1m/1LfA+EKq1blBKXYoM/AZqrffYDwwwJ30Eou1XI8I0yfp+JTLgDkcGngdZ9XMCWFduAB5VSoUjA8Bq6ziAO5T4oHyLDHCTfX4nO4n4+GdZ1o07gCeVUmO01i21CBpagRHoPQfXyPtg/DXJj5C58WN8yl3zlb6jdrdQ1lqPte+wnLdu1lo/3Ug/GjN3Pog4Kz2slPpWa70yUCUlDm1zge14hJgv4b4FSqmhwAql1H+01mc3clzAYxGBDPA8Hm092mr3GuA+YKXWeq3tmC+RuXfXQKcvYmIGzz2ocJl0rftW47NdZ9uu9DnWfm1nAlPs+60X/gvA74CTtdY7AbTWy5RSFyEDsXGWpv6zrblnEK3vYOv4LxATeypiJv8eERJrlFKLtNYfIIOQEMQSEIjPkHn3u4HntdZ5tn2nAq/61D/J9j0TsDs/vgIkKaXO0VoX+BxXggxeShrpR0u4BrhLa13qKlBK9bH6bp8SmuujzdZZ524RSqmjEdO4S8DOAIYhc+CRSqlq4E/A277CHAJauR4EHlRKjUeevSJkgD4Hmab5wRp47UasCy5L2EmI6Xwq4tcA8gxtQ/7vXVaGXdZnt7X/UppWEL4OUPYoMhg/Ef9pIUMbYLzcew6uF1G+1nqP/WPtqw9Qnu9zbLthmfTPQQTmq0qpBN86SrzjX0EGH3+0TMCBWAycgAgDF1dbbftqny5+ReYafw6wz/V/cpLWOlZrHYtHs/4ecUbyMo1rrWchA6LRwAgfIeZ6SWYqjwd7OqIFubYHAX+2ba/0ORYQD3zgf7FZFpQsrVqMmPZna629VjBord9EzLXDgR+UUs9blgS01tla66+BDKt6GVCgtf4CuAe4QGv9LXAn8KZS6iFEO7+hEe08GtE47wPOB7J8qriE4gCttQImIRqpQgYXvlr4YkQbXaP8Vzm4hFwp+4E16BuH/5SLw+rXRGTQeR3+704HLRTo1vTDv4FVwJFKqdmIqfw9xH+gArmWw4GZyrPS4eZm2v0d4jvwITJICkUGlR9blqUZiAk/U2v9q2Uydw3OV7sGDlrrOq31FVrr64AHrP3Paa1vwDMQeEBrrVwf5P/hYVuZ20riwhqEvIE8B4Z2wGjoPYfGTN0HdKySpVlpyIvX9UJNt8xxYciLbrfWOre5k2ittyil/he4FTgbeNGnys2IJvGQ1npFI/2JQDSJna65ZKVUX0SrfKaxeT+tdY5S6kkgXCkVrbW2O7Q1teTme8RU2c9yxvOlNsA5X0fMz/tDjuuLNd/7EjLlcS9y3xQyP/obZM68Uil1gn3eUil1CSKQDkNM8qUB5k5dL93xyDKxcVpr++/xEKJB3ox4eP+rkf5uR54Hd4FSyjWtsBYZJNhZgwijP1rbXo5kWusXlVK5iGn6BETou3dbfxublmiOQ4ANWut9PufMRCwWdsdOXwe3KFo+8K1ALB5HIv4Ig5GB2vWIdeE1ZOA5DRm8gAyuA16XNRh7Avk9FiJOkI8hwvsqZDB4l+sakN/URV9gj27eSTJZKbWAwI59INNs7v75+F3YcQ0MDe2A0dB7Dk169h4AVyCaxpfWB8TM96VVvgrRElrKvcBMH+Hh4nVkaVdjWjbIHG8N4uTn0m5zkYHF1arpdd71yMDkSZ82m/o/GYYI53WIt77v5/EAx1QgXs+RTbRrR1n9T9A2r2ugD2IB+BceDV4j88DTtNYvIffDy1EN0aivsPwLDkeEsudkYg4eDhQgptN92F7CSjy91wK9gJeRgcE6pdT5llOdnZMRATIa+V3uQ5znypCXu/28YcggcGNTN8OyOEzSWj/js8vlnBjID6Il9EWeleZosJu8rYGVgxYOJLTWRcj9SEScHMOQVSNZWutiwIn4iCzQWhfYphYCOmdag7HFwFVa6z8hgjscuNfyMzgN8a0YgwxAD7Md3g9Z/dAYSdbf14CjEO/4GGCuz//OaCTWgT1mwo4A7eXi8ZkwtDFGQ+85uITSMOXvze4AIgI4ubgCsDRqStSyTOtW17Z9Dl0pdbjPvLIfSqlzEO2mCptTkVUO8kJx2La/AE63NL5wRAsp1Vq7liw9iZjlXRaDYcjg4hlEs7KTjHh9f4hoNaFWm74OO67/k4G2e+Saa89FNOLpyODGpcGMRgTpfwJcdh9koFNFy4SPS2BEKvHsrgPQWu9SSh1lnfNIV2WttV0ghuIvpKpc12Rz1LPj0rprrbq3AWOVUtcClwCHIi/2s7Qsw3sCMfu/DlQoWbEwQ2tdbZnn5SLk2diLPIuxyG9pt364BgN+c8YB2KqUirPmul2/Tx+gUmtdYz0frQ1m4rVErgl8B8eDrT74zuk33oDWOwAsq9Am4GFrOwSZ444A3lfekQ1jLCtQJBBpdxZEBpUN1qDoj4ij5j3WuXYrpYqQZX2vAYuUUr0tE/t4xPnSCyUe93/B87/9AHCH1rremou/C5k2cPE+4rS5wNoOw2d6yKICz+9saGOMQO85uF5uAZ3NLBrTjFr9nCiJLPWJUuovWutAWqqLu5ElPs3hO69p5wesNciW9uNeTqSUWoi8aP+qfdaXWw5tkYgm09TL2KX5veS7Q2udb5lhT0ICeSyx2nY5Ufk6fKG1zqKN/vdc/Q7gsewiGnFkslNPI4M0pdQ4RKM7E2sFgdb6FcvD+V5kcHQW8BMyPTEMud9/RJZgnY8sPWtq+dN2REv8CTEru3D5TbREoF8AzLGeM9dyzCF4D17sEehaItx3I0vcWovLMXRTaw5SSl2FTBscatP4wxCnsRjkPtl52Pq4m7B9X4Jo0HaybM9FNuKXEY8MAM9RSv0bGXh6LfFUEm1uIzKY/hQ4Hlhu62MS8It9KkkpVYP4WgSc0rLRF//n0dBGGIHec3AFP+kTYAnM10gUqVE+5RmIY1lLTcN2PkMcdGYppZ5uYpnKJMQ8V+Wa825J36x9EcjLPKBJ3Jor/j3isXuFUupjrfUP1r4MJLLaW5YTWFO4LBr9XI5fSgLHAKC1Xq+U+hK4WSnlWjFwKeLR7V4KqGQ50GTEpLq/y3ZCkd/y1yacAu0k4L1evDn+gQja9/FeEvhPxMt/Ed4BXHy5UGv97yb2uxwg14Pf8qsM6+9OW1mgVQcg1pB4ZDpgO+IIdzwS2hVkuiMXjyBvLAaDnUxghFIqRAdYo++LzdfiN4iQ3NDMIfZjL0TmuZcAlygJyTsaeSanAYXIWu8Gq77G8gNBfn/feP4zrL+zEEvUoci8e5zVrzes/68SpdR/kfvnukYvfxQtcSG+RRzYlmMzyVsWgnAgT9lCHyOyJNZWVq+1DhSXYTTezqqGNsQI9J7Drcj8ZUuDn4A4YA1GBJAflultKGKWtQuodCSAxd+sfeOVUgHn6bRteVBrsRx5mnLmWYp4ek9FPNgfsByq3kO0mVLEaag5hiPX0ZRmcT0yj34TooXEIZ7LdhIQ82Y5jQerSUA0r32N7A9DTJZHIkucGsXyME/Fs1yuSSyP+f7ArVprbdf6LWFQrpSqQgRlhs/hv0W0uZYEJrFjHywejgzutjWy39XPk5BwqtdYVpdhSqlDkPu+TEkAlbOsa4hrrJ0ArEEGh8cigqxRlFKHAc8rpY4ETgFWaE8Ev5Z4u09CfssTEF+E7xCz+TeWiXwA8IRS6nofa8eJwGla66vtjWkJ3uJABPXHwA4t0eP+bF2T3Ur2EDKl8gCwWGsd6Lk+VWtdqTxxF1xMtv7+gjif2gfTI5HnH2T+PCNAu+cjkfsM7YAR6D0ErXUhMupvzTF1+C8zAs8L6xjEFF6N50VeiAjPa63tUORlembrenzgWJ71rwCvWKbXychcr0uI5wIXKaX+5evZ7MNYxIzcqGOh1vobay75PuSab9Q+y7gs87iXpqiU6qVtkdGUUsuBRK31eFuZaurcTXCU1ZcWaY5a6xKl1ATdeGhZsAYivnPvSql6+/5WkIV4aJchKxtWAdr6vd7AO1iPS6O/xzruOduua5FBZR4i0B5BfoNSrOdVeUKnBkRLEJrXkcHZ8iaqKmQuOg/ROA8DZtv2t+S9Oh+Zg/7OZb2yvNUTrHnwNxAt+19Y1gyLUcBVSqkfAzgFZiCDvCnAPqXUN4iD3H+01tm261xjaeCu9v1o4hmYjKxaybMGd1drrRfaK1hTUOf5Hqgk4M8EZHmqoR0wXu6GVmG9aEMAtNbvaa0jtNZxWuvURj5JWuto7VkLHWqb1+zIPk9FrBRHIdrJJYhQ+AcSNWuBkuVtvsf2RpYzNencZ7EHeZkrxMmwyRe7UupGZEnY75qokwFsUkpd3lx7AZiLaEqB1tYHpBlhDm28WkJrvV5rfQ2i4R8OvIn0+01gneWpb+dq5Pe4R3uizR2KWGKe1Vq/gQzablBKXUDruQs4WjWe3aw38vxHI4JpPjKItU8z+Dp9hfn8RWu9T0uc915KqT8rpd5BfD1mWP0/DDjfqmPnn4gl5BFfJ1Yta8vPRpaRzsIznTVTKfWDstbtW8/dIYh16/5Az30TTLHOD00/C15TFtZ00wvAg75TfoY2RHeCDDHmE9wP4lS2pYV1I5B/ZHtmsJZ+FljHhreibz8C21p5PXFIBK7zkTnHLOu82xFvdmWrexQyj6kRJ7aHgRTb/jnYsl0h87aDrLp3W2UpyMtKW39ftb7/ioTjjPXp3whkjloj2uRg277lwPe27d8hzlYaied9vr3/tnpnWHWGWNt/tbavDlD3M8TJqbn7+AXwpk/ZOzSdZevMJp6beuC6APvGI1MM6xGhdyEyzbMeSLfVG4hn6iPSKkuw7s8+INUqC7OeaSeitSpEG73O6uMfmrnuC5H14BN9ysMRq04dYp263GrvLz71YpEgNHHW9mFWvUNtz9BC6/fUyNTPIkTLf94q+7OtvWSrbLbtPlRgTRH4nDsBWV1Rgkw5JVr39x/Ic/uu1dY9yCCqGpnimNDIvTjIqn8cMvXUgKxgALGq/JXA/+cbbG2EIP8TG1y/m/m0zyfoHTCf4H8QwbOjhXWbSlfZ0k9UK/vWotSuVv1wZK2t61xOZFrgFN+Xn89xpyPOOvuADKssydrOxRqE4BkcaESTfAKPk9scW3uXIt7f2mpjkFV+ISIQnMDltvqTkGmJXGCtT99CrZd9ntXejAD9P8/aNxxZOaCtF3og4b8KWNOCe/klsMin7D3EEuH7EnelAT3Xp34vqx9fW/vP9vmtrkGE0wZsaWERQZKLDMKG+1zn1bbtl6x2z/E57+HIQK2Xtb3CqlcCDGvBtd+OLeWorfx+xMcA65l6E4mE11Rbx1jnPtxWloUMrM5HArCAzEGXu54jJNLgF7Zn7ijb8fORQWGCtX0y8pxXIE6Fs12/vXWfH0AEcJ79XiGrM/ZZz+RFtvI0xGlvrXXuYcgSzEJbfytp/H98s62t/7H6FDDtr/m03SfoHTCf4H8QL+g9Lawbb/3Dzt+P88y3jo1rxTHbgLxWnmeKda7jgIhWHBeFT45vZI70XNv2XGSt+ymIp/FqZN5yYoD2kpClXvN8ym9CPObtZRdY96YeSaQSqH+JwLWN7HMd/xtkYPAFEN9I3a+Rudvm7sc3wFKfso+BnEbuuQZmBdj3k/VCfxLPwCgO0aI14iSVGOC4YYhQX9xEH8NoJle4rX/nBjpPE8f45S+3yv0GSa39YFkTApQP99l+F7GKXOxT7quZD0RyMvwh0DOPRJF7uJH7PBgZqITYypT1u33mOjeynPHPtv31wCUB2puPbRCOWCyGHug9M5/mP64RnMHQIqz56BQksYhfvu+ehpK46cW6BcucmmknDjGbL9Na5zRXvwXt7a8jnb2NwUhUtB22sgTkxd9YZr7WtD8EGKMlwUtjdUYgg82AKy0MwcMKehMobLAhSBiBbjAYDAZDN8B4uRsMBoPB0A3o0uvQU1NTdUZGRrC7YTAYDAZDh/DNN98UaK0DZXbs2gI9IyODr79uLmqnwWAwGAzdA6VUoCx2gDG5GwwGg8HQLTAC3WAwGAyGboAR6AaDwWAwdAO69By6wWAwGLoOtbW15OTkUFVVFeyudHocDgf9+/cnPLyxDML+GIFuMBgMhg4hJyeHuLg4MjIy6OAcTV0KrTWFhYXk5OQwePDgFh9nTO4Gg8Fg6BCqqqpISUkxwrwZlFKkpKS02pJhBLrBYDAYOgwjzFvG/twnI9ANBoPB0GPZtWsXNTU1B9RGXV2d+3sww6kbgW4wGAyGHsttt93G22+/7VX2448/0rt3bw4//HCOPPJIXnnlFaZOncrxxx/P8ccfz2mnneZV/5prrmH58uUAvP3221x77bUBzzVt2jT394svvpjs7Ow2vRbjFGcwGAztxfbtoBS0wrHJ0P6MHDmSAQMGAFBZWckvv/zCiy++CEBWVhaLFy9m+vTpzJgxgzVr1jBz5kwuvPBCQkJEB7Zr9BUVFXz77bc8+eST1NbW8tRTT5Gens6yZcuYOnUqIFp7Q0MDUVFR1NXVkZOTw4oVK7jnnnsoKipi/Pjx3HrrrQd8XUagGwwGQ3uwZw8MHQpxceA02V87E2FhYbz11lts3ryZww8/nLfeeovRo0dz0EEHceihh7rnr5ctW8b06dMB3MLcdXxdXR1hYWEsWLCAMWPGEBISwrXXXstVV13Fqaeeyplnnkl+fj7nnXce69ev57rrrmPDhg2cddZZhIWFMWrUKO6//35uuOEGzjjjjLa5rjZpxWAwGLoaBQUwdy489hjExrZ9+9u3y9/SUtBaNHWDh+uvh++/b9s2x4+HRx9tttqSJUvYvXs3ixYt4oMPPsDpdNK7d28Avv32W3799VcAvvzySy677DKmTp1KaGgoP/zwA+PGjSMkJITZs2dz2GGH8dprr3HIIYdw8cUXk5GRwZQpU4iMjOSWW27hiSeeoK6ujgsuuICbb76Zm266iWuvvZa0tDSSk5OZOnUqJ510EmPGjGmTyzdz6AaDoWfy0EPw4ovw3HPt0/6uXZ7vlZXtcw7DflFeXs7dd9/NMcccw1133cXu3bsZMWKEX73zzjuPFStWsHTpUpYtW8aECRNYsmQJS5YsYdasWRQXF3P//fcDcP/99zN8+HAWL14MwC233MKbb77JzJkzAXjnnXcYMmQI77//PqtXr+bWW29lzpw5FBUVMWvWLNatW3fA12U0dIPB0DNxaeX5+e3Tvl2gl5ZCdHT7nKer0gJNuj1YvHgxDz74IDExMSxYsIAnn3ySr776iksuuQQQYX/vvfcCcPrpp3PdddeRm5tLnz59APjvf//L0qVLef755znssMMoKCjgzTffpE+fPlRUVLjn5qOt31spxdKlSxk7dixOp5M777yT++67j507d/Lss88CMGzYMIYMGXLA12Y0dIPB0DNJTJS/BQVt2+5PP8Hs2ZCZ6SkrLW3bcxj2m1NPPZWVK1fy0Ucf8fHHH3PIIYcwZ84cZsyYweLFi1m5ciVpaWk4nU7OOeccTj75ZN577z0uvPBCAKZPn87q1avZunWrX9uZmZlugW4nOTmZ66+/3v190qRJnHbaaSxfvpyFCxdSVlZGWlrAFOetwgh0g8HQM3F5KhcWtm27Bx8ML7zgrYEagd6pyM3N5cUXX+Too48mLi6Oa665htzcXI488kgWLVpEfX098fHxfPHFF4Bo6i4P9dDQUG666Sb3UreGhgYA8vLyWLFiRcD58AkTJhATE+PeVkrx1FNPMWXKFM4///w2uy5jcjcYDD2T8nL529YC3UbJwceQ9+MeRhiB3mmorq7mrrvuYtSoUSxatMjtDDdv3jwuvfRSHnnkEYYNGwZAbGwsl1xyCfX19fzhD39Aa010dDR//vOfvdqrq6tjzpw5PPDAA25veGeAlQ2uUK61tbVceeWV3HzzzWRlZXHzzTe3ybWpYEa1OVAmTpyov/7662B3w2AwdEXmzuWHBz+ibvTBTPjllbZpU2twLW+64AIuKHiM1z9JZee/PmPAJdOaPrYHsHHjRkaPHh3sbgSNkpISEhISqK+vByA0NLTJ+oHul1LqG631xED1jcndYDD0TMrLGc8PTNzYRsIcwJVM4/774bXX2JQjZtaXPjzw+VFD1ychIQEQQd6cMN8fjEA3GAw9E5fJvS2pqJC/UVEAhIbLK7agyKxBN7Q/RqAbDIaeSXsIdNd686goSkrgh40RAJQ4jUA3tD9GoBsMhp6JTaC3mWyvrGQdkxlx+wyGD4eaGhHk+0rb3rxqaBtqa2vdnuogmdMaGhoobcKRcfv27RQXF3sd48JkWzMYDIaOxibF2yy2TGUlSziJLXvivdosySyCDRtko7q6jU5m2B9WrlzJCSecwKmnnkq/fv144YUXOP3000lJSeGMM87gjDPOYPXq1Rx//PEsX76cc889l0suuYQZM2bw3XffAfDiiy+6v0PnybZmBLrBYOiZ2AT63l11TVRsBRUVxOHR7OLi4Kjo7yipdsBBB0FJCTgc8OCDbXM+Q6s55phjmDt3LiNHjmTBggVcccUVLF68mIkTJ/Luu+/ywQcfcPTRR/Phhx/Sv39/QkNDueeee5gwYQIFBQWceOKJhIWFuZenubKtHXvsse5sawUFBSxbtsx9Tq019fX17rXsWQDgahgAACAASURBVFlZ7mxr5513njsy3YFiBLrBYOiZ2AV6dhtpzZWVlOFJ9HL77ZARlcc+rKh0a9fK37lz2+Z8hv0iOjqadevWceaZZ7J27VomT57MoEGDuOKKKzj44INZu3Yt69evd69Hv+KKK9i3bx/h4eFERER4tWXPtnb99ddz1VVXsXDhQh566CHeeustANavX89RRx3F8uXLOeuss7jxxhvd2dZiYmJMtjWDwWDYbyorPdnQgH35tW3WbjmeiGCpqZCoiylBliuxZo2nbm0thIe3zXm7IMFKtvbaa6/x7LPPorVmypQpTJ8+nZNPPpnY2FiOOOIIcnJyGDt2LGeddZZboIeGhhIfH+/X1ubNm022NYPBYAgqq1ZRX+0R4s6itjO5lxNDUnwdr70Gs2ZBQkMxhaRyUcTrVCxd5albUtI25zS0ipkzZ7J8+XISExOZPHkyffv2BWDPnj2kpqYCEBcXx/vvv09GRgZaa2prawkLC/NzeDPZ1gwGgyHYbNhAFQ73prO4vm3atUzu8XGaCy6QosQLfw9PwCs15zNz7avkpdzETYV/ZU9+MeGWAOmJBCnZmnvuG+C+++7j22+/Zfv27WRnZzNw4EC30H7vvffYvHkzYWFhlJaWEhcX5xbuLky2NYPBYAg2TieVRLk3S/e1UKBfdRX85z+N77dM7rY8HPzmtEHu71ENZdxWOY8iUlj+eUOABgwdSWhoKNHR0QwaNIj8/HwiIyM54ogjaGho4J///CezZ8/mwgsvZMSIEWRmZjJlyhTmzJnTaHsm25rBYDB0NKWlVEYmuTedv+Y2f0xtLTz1FJx1VuN1LIEeG+sJJHPUUZ7d5cQwso8k7Vi6IrLV3Ta0DVprtyY+duxYSktLmTZtGrNmzWLatGk8//zzHHnkkcTFxXH77bczf/58HA4HTz/9NCNHjuTXX391h27tTNnWjEA3GAw9j9JSqmJS3JvOtb80f0xOTvN1KiooI5aYOI9Aj4mBy8fJ3PkZvMuybQMB2Lu3dV02tA01NTVMmjSJ4447jvr6eq688kp+/vlnbrnlFp5++mnuuusuxo8fz7x589i7dy933HEH/fv359Zbb+X3v/89eXl5HHrooUyePBk4sGxry5cv54033vAKTHMgmDl0g8HQ83A62RE5wrNJvCRWcTgaP2bHDs/30lJZZO5LeTnlxNAvzltXuuWYVTyz4Sjq8Hi1FxabcLDBICIiAnuWznnz5tGvXz9AnOHefvttIiMjCQ0NJTExkaFDh7qPGzRoEIMGDWLiRE+yswEDBvDqq6/6nWf9+vV+ZYsWLQJgxowZ7rKMjAx3bvUDJWgaulLqSqXUcuvzvVLqGaXUC0qpNUqpecHql8Fg6AGUlnLC7pfdm07iIbcZs7tdoE+YIKlSfSkupjwk3svkDhCT6L88raiklfqU1nD22cHzJuumuIS5i+jo6HbJhAbdONua1voprfUUrfUUYCWwDQjVWh8BDFFKDQ9W3wwGQzfHJ07350zjvTcqmz5m40bP9y1bINAyo+JiylSsl1Mc+Av0DDIpLG3lGvRVq+Cdd+CGGzxZ3bogwYx13pXYn/sU9Dl0pVQ/IB3oD7xlFX8CHB20ThkMhm6NLvGf37znxd5NHKDh3Xf5ZuLljBtSzuU8za4tATK6FBdTRiyxsd7FUYmRKMR56i9/genhn1NU0YR5PxCrbGvYf/ihdcd2EhwOB4WFhUaoN4PWmsLCQhxNTQEFoDPMoV8NPAX8AXDZvIqAQwNVVkpdBlwGMHDgwI7on8Fg6GaUOz3L1M47q4633gmjv6MQaGRduNMJmzbxyCGL+Hl7ND9zOdse2suns7yr1RQ4cdbHkpLiXa5iYwinlhoiSU2Fqshyisqj0RpUS6fSLa28mggid+yAI45o4YGdh/79+5OTk0N+m2XD6b44HA769+/fqmOCKtCVUiHAVOA24AxwLwyNpRHrgdb6WeBZgIkTJ5phnsFgaDWu/OTPPAOzZ4eR51hN9t4+3pU+/RRuvBG++grKygD4taiXe3dOgf+ys4JCaddvSfHQodQg9VNToTK6gvqyUJxOsKZVm6eyko85kel8zFdfLmRi26126jDCw8MZPHhwsLvRbQm2yf0YYJ0W+8s3eMzsvwGygtUpg8HQvXHlJ09MhJAQGJFSwI6SRO9Kl18OP/0EO3dCRQWVOPg+O4Vbry7hYhZSWe3v1JRfLDqSn0A/7DD319RUSI6WZDBFRa3odGUlb0ZcBMCDSw5qxYGGnkKwBfrvgBXW93eBWUqpfwDnAf8NWq8MBkP3RWv2VcvcZKIlw4f1ryK/Nsk7L3p9PQWkUF5cAxUV/MRB1DeEMHGixkEVVbUhfu3mO0ULbyro18EHQ3KchA9tlUCvqGCDlqAlS3aMNmnVDX4EVaBrrW/VWr9jfXcCU4C1wFSttclcYDAY2p7qanc6U5e5+9gjZU59+Zt5nnoNDaRRwOEzM6C8nG8tt55DJ4VZAj0UbrtNTPIApaXkNyQDTQv0ESMgJV4EemFhK/pdWUlW/UD6ReZTVh/N6tWtONbQIwi2hu6F1rpYa/2W1npPsPtiMBi6KdXV7nSmLg194vVHE4eTz17yRINrqBOv9A3bY6Cighz6ExqqGTg80iPQ770XrIhhZGeTj0jyQAL9ySfh8cfFCS45Udpurcm9gijGJWQDUFDQimMNPYJOJdANBoOh3amq8tPQwwYP4LeOdXy+2RNkpKDONqdeXk4pccRF16PCw4hSVdTUh/FvZhJCvTigZ2WRTxohIZrkZP/TXnklXHONfE9OEn/e1gh0XVFJRYODtOgKV5cMBi+MQDcYDD2Lqip3pjUrwyUAU+O+YYuzN7t3y3ZObbpn57//LevLY2SdmSNMTPT/w4NoQiSI3Pvvk08aKUkNhDTzZk1OlQqtMblXV9SjCSEtTuKBG4Fu8MUIdIPB0LOoqnLnQrfH7RgcJzbsPdaEX069bRnbrl1eAWMc4SLQNbJMzfnTDrY8+zmLOJu09OZfq+GJMcThpKig5SlUK8pFq0+NrwGMQDf4YwS6wWDoWVgCXSlNuC36akKsCOkSyx03t0YmwkOpg9xcMblbWdSiIqRug/UK3bulhJFsooA00tJaECkmNpZkiijKb3mWLZcAT02UY8rLTBgOgzdGoBsMhp6FJdAdEQ1eUdoS4kVbLikBGhoorRZpH0IDZGaKhh4vBzgipK5LQ8/fXYe2XqcRES3oQ1wcSRRTlN8KDb1SzhUbH0IUFZSXtE3KTUP3wQh0g8HQs7AEelSEtzBNtBzkcv7nnwwO28nH/A6AWiK4jGdEQ0+QV6YjUrRjl4b+5yc8kaoDpMH2JzaWeJyUljQj0PfuhauugtJSKqpEoEfHhRJDORUltS04kaEnYQS6wWDoWbg09EhvYeryeF++uQ9ZOoPPmebe9xyX8T2HuNOiugS6k3i/5ktaEkEjLo44Sikt9ZjNN31bxm+PbfAeEJx2Gjz1FHzxBRWV8rqOjg8jhnKvePQGAxiBbjAYehpuge5dnJAkr8OCxhK0gNspLsohgrga/2xYt9zSgj64BHqZZfPfs4c5Ez5nxcoQli616lRWwrp11BNCQ1kFFVao2ZikcBHopUagG7zpDNnWDAaDoeP48kuqmIzD4e1UFp4QTTTl7KTxLI5xcfLXkbM14P6rroKLL25BH2JjRaCXWzrVSy+xD8me5va8tyT7ZNZTfXkv+tbKuvjoxEgR6MYpzuCD0dANBkPPYdkyePhhKonC4fDxRo+NJYEStjO00cPdy9bqymxlHsFq95pvEpeGXmEleNmyxR29zm1y376de7iVb5nAz84BLOVEAKKTXAK9hefqidxzD9x8c7B70eEYgW4wGHoOCxYAiMk9yl+gJ7LPqyg1oYbzz4dzpkjWFleec8fCp911rrgcHuMvANS11PHccoorrw6nvh7Yvp1ikgAoLrIGCMXFzOMev0OjU6JEoFe08Fw9kXnz4H//N9i96HCMQDcYDD2D3Fx4912gcYGeineA9MH9anj9dXjx/TQWL4ZLLrF2jBgBQDp7uP8BRXiSqO61LXU8tzR0kFTr9duy2IvkWi/OsRacFxf7DTAAotJiiaaC8ooWrHfvibhC/QWioYHunKbOCHSDwdAz2LwZGhrYSxqrOBpHtM/rLyGBAWR7FUVZQj8uDk45xTOHPngw9O/XwKv/DiU0FMLvuwtohUCPiXEL9NLCGn7JjnM72BXniurdULSPEuLpH+adqypxQBwpFFJQ6uPVZxD69m1839VXi5OC7p7+B0agGwyGnkGVxEA/jHUAREb5vP6SkvwEenRMYC04Nhayc0I4fqZEkzvplFAiI8UprkWEhhIXISFcSzftYo0+zL1rX6F4rzv3VqEJYWSsJwPc8uUQlhRHH3ZTWB5FTU0Lz9dTsOY8agnjeh4hJ8dn/9PWVEk3vXFGoBsMhp5BVRWv8AeyGAzgWTLmIjGRfuR6FUXFtuwV2a+fjBcmTmx5d+KjRfiUbtnDFobjCK9jDD9TXKzh7rv5aamYjkemelKyxccDoaH0iSwGIC/Pr9mejeWVuISTeIzrmTOnkXqlpZ7vZWXwzTft37cOwAh0g8HQM6is5CJecW/65RNPSvI7JDQitN26ExMtZt+ybXnsYBADe9eQRDHFe2vh4Yc5lpUAjBnh8bRzBb/pHSsu7k1NF/c4LDN6EUmczvsARDY2K1FmWyJw5ZUyEtu7t5072P4YgW4wGHoGVVUcxlr3Zn6+z/7ERM7nDaazhPuQ6DB5Be0XqsM1h1+dk0+WGkLG0FAR6NuKqC6pdNcbe7BnUBFvBabrkyDz7Hu8p9d7NpYZ/WmucBelJPmH1v2M48jdVuUp2LhR/m4NHFugK2EEusFg6BlUVhJBDaMtjddPQ4+PJ40ClnAyv+ULAHJ3tZ8nuSt8bFVxJTvUIAYNEYGeR7pXcJuk0491f3c55fVJFIGf6z1D0LOx0tFVnni6uygi1HsdYQOK4/mMo/6Q4SkcMIA8elF+zHSo6NprAY1ANxgMPYOqKiqJYuAA2Zw1y2d/iOd1OPzjJ4D2NWm7BHrxPsXehjQGDQkjiWJ205cRbHHXS+kf5f7uMiH3SasjJqSCX39tv/51OcrKqMTBfZ9Ochf5xrvPR5wYd+xxoC++RArT0+lNHrENTm6b3bWdEoxANxgMPQMrhnt0bAhOp8fhORApJxzKrFnwwQft1x2XQN9cKNFqMjLwW3e+YAH07w8XXOB9bEhaCmPURjZ8YzMdP/YYjB/ffh3u7JSX8wbnU98QQmSYlTPe6W1yz6Wf+3vIywvFF8621vDe1wcjkX66JkagGwyGnkFlJZVEERWjiIuD0Mb83SIiUApefhmOO679uuNaNreppDcAgwZBEsVedSZZyuarr0pMFDfXXce4+h/Y8KOt8Prr4YcfoLCw/TrdmSkvdyfWWT9/CaPYSFmp93pzu0AH+Owz/Mzs9R8saddutidGoBsMhp5BVRWVKtodLCYge/d2mKeZKwnLrxUyB5CR4S/Qk5Plr1LycTNuHIPYwd7SaE+42URJ3tJdlmC1mvJynMSjlOag4VXEUtasQK+r1dSVVXmVZW/x3u5KGIFuMBh6BpWVVOEgKqqJOmlpAZevtQeu0LObaocQFlJPnz4QfvKJXnUa7UpkJAlKsri4k7mMGIEG+Pbbdulvp6e8nBISiI+pR0U5iKGcsnLb/tpadtPH65CdW6qpKBMrx3HHiun9hU/6y87KSnjkkVaE/ws+RqAbDIaegeUU5/BPYR4UXCZ3TQhp0eWEhkLlWRd61XEp3X4oRUKkaJIugV6nwunDbu58e2x7dblzY2noCXEN4HCIhm4PHlRaSjkxXofs2FrjFuhnnxfKRL7ihTVjZOdtt7HyxndY+vc1HXUFB4wR6AaDoUegK6uo1FFNa+gdiIqMIBIRyonRsob67LNh2jRYtw4++aSJeX4g3iGaY0mJbO8pjiSP3sz/5tSupFS2HWVloqHH4RbozvIQT7yBigqq8B7N7clTrtVuxMWHcJJjOXnlsezcCZWfr+FYVnLi3cfSVWi/qAkGg8HQiagpFynXWQQ6kZE4qKIaB4mxMhGemAifftqywxOiamCfR0PfVeLRPrOyYPjwNu5vZ6auDv70J5x8SkIiEBVFLGVszY2mVy9Zoh5tTbnYqapWVFiDn+ho6B9XQkNVCIMGwcE0sgxCa/FQbGq0FSSMhm4wGHoElRXiINVZTO5ERBCJpPJMiPOPaNYcCTEyCHBp6LtK49z7tm9tfXtdmsxMANHQE0PA4fByMCwrAyoqqMQzmhvCNhHolpN7dDT0S/J4vP/Ib9zfvZKzzZ3LjuRDaMja2S6XciAYgW4wGHoEleUi5Dqbhg5NzJU3QUKsrJc+9VQo2afZVenxoNu+3hMGr/zMP/DRbSsPrK+dnexsPmUa3zCR2PhQiI1luC04T1UVbqdIgKEDa5jI11TVhFBRJWIwJgb6J5UHat0rl0vB+6vJcP7ITRd0vkD6RqAbDIYeQVWlqFmdRqBHRLgFekJi61/F8XEetfHr1TXs0r0JUQ2EU8OmNVaGttparnl3Gifde0z3jiqXnc11PAbAmrUKMjIYdds57t2Vlbjn0CeOdLJ1xW7SyaOqJoRtVbKULToaBoyJ82p2aGgW4B0meE+o1H9szSQ6G0agGwyGHkFlqZioO43J3a6hp7Z+PjaBEvf3X76vIY90esVVcmLoZyxcNkjm1ouK2MRIoFskExOKivzLsrPdUfbuvFOKRl7rWQL4/feQm1lDISkSh8DhIIpKSqvCubT2SUAEevITd3k1e1DMNsBboBcUiue8JsTbFN8JMALdYDD0CCpLZL66M2noLhJSI5qoGBhHscfk++MPmmKSSIqtZXb6Ykpqoti8GSgsdA8a/JLR7C/bt8OWLc3Xaw+WLoWUFH/Pwexstqnh/PGP8Kc/SVGvXjApVNbkn38+9J89nXUcLuv/o6JwUEV9g0cERkfj93CMS5LsNwW7PcsGCvZ5fMm//6ZzhYk1At1gMPQIKqxEHdHRQe6Ii8hI95xuYu/GEnc3jioq5CUuIplCtm6FfSSSlNBAWrwsgSsqAgoLiUIys+3a1QZ9LiuDoUM9MWk7mpWWL8CqVV7FZbuc5OlejBjhKVMKHkx5wK8JR7Ro6K6BjosYa5HA4Yd71O7xJ/QC4OtXfgGt2bsuk1+rM9z7F7/VubKzGYFuMBi6PwUFFNTI/GhqapD74iIigs2WOXzo6NYLdAoKuIhXOIklZOaEUUwSiUkhJCdZWdyKgcJCQpGBzK7M6gPv83//y9/5GxeXPOYdW74D2cgovsrxjvhWlCcadFqad91A1hhHdAiEh+NQ3vcjNlb+fvyx4sITZfH64bcexzQ+5dlPMih79HnSDx/M37gbgF7ksf3XzrXg3wh0g8HQ/UlLYy+ibfXqFeS+uIiMZAZvEE4Nx5+wH3nXL5SochlksWNvNFlkkJQWRnKqvNZdGvo+xIU+N6vmwPu8YQN38Hde5mI++ujAm2s1SjGGjUx+/jJ3UUMDPLLtNADi472rR0UHuK+hoaAUjjCPufzVV7Rb+MfHw8tL0sjPh36DI7iz99Pklibw3DOeEUxcRBWDySQ3p3MtDzQC3WAwdG/q68mhH1fwDNCJNPTISF5nJuXE2FOxt5xnn4VXXmEA2QAUkUJieiRJaTLH6xLoxchytqKCA/TgWrUK7r7bvdkmJvw24M1jFvBo0UVAAIEe5q9BV9XK/YmK8Aj0Qw71FvwhIZ7n5Kix+0gMKeHGTZe79yfEa/qRS86eMFmk/uqrflnbgoER6AaDoXtTWMjt/N29GdF6/7P2ISICBYSH74d2DhAWBr/9LZP4yl2UmBZOREocMZSJQM/Lcwt0p/MABfrbb1OHxxu/pKSJuu1FlWfe25W2PGt1rrvMT6A3+K8rr66V++2I8GjXTcYBGDqU3g3eo5e+GRH0ZRe/7k7kL2fsZPWsJ3n2zOCnXTUC3WAwdG/27vVa4tVpcI0sxozZ/zb69+fQxEzuYh5gBUBJTCSZIory68jeUEI+MrFc4tyPgYPW8OmnfLGsgbkfH0cMHgFZUtxB5uY33oBbbrFO6vkdw8LgrjsbKCHBXdaUQH+cawCorrYEeqRngNNkgr3Jk/2Kzjs/lKow8cl4/P1BPMBcrvvs1KAvYzOx3A0GQ/ckOxtqauC004jg8ubrdzQum/WECfvfhlJw3nkMf1aWkZWVASNFoG9d3sDA7OelGg2UlO5H7PF336XsrFlMoQw41WtXSWEd0AHmjpkz2cFA+p09A7K9o7PdPj+Ei+nt3m5KoB/CdwBUW75wdoHeZGyCo4+mwlqNcPbZcP31cNRR8Gvvg3n+DxATUsE3DROoqo9g715IT9+Pa2wjjIZuMBi6H1pLdpJhw9iYGcmDzAXg6UbybQSFM8+EE0+Ev/+9+bpN8eijnPnsyVz3p1LuugtITCSNfL7O9kiW3/ExzooAAr25tGy5uRzETwF3lRTVHUCnW84+EshgB9dNXk3Rh/6pTHcwyP09IcF7n6PeI9Bdy/fcAt0mxFVTxosRI6iMTgHgwQfh6KOl/ugT+vMQN1PeEE0ukkPdCikfNIIu0JVSTyqlTrW+v6CUWqOUmhfsfhkMhi7MRx9BdTUaGMNGAFJTGri8Mynq6enw8cfQr9+BtRMVRcSlF/PoC3H07SvtppNHlZWIJDmqgkP4jpLKCG+T8JYtVEfEUnzPk423XVpKFoO9ij6cs4yD+YF9hR1jcs9mAABPcjXp+Ie7c3nxg2fpmYuQes+AJfrNhQBEWisEWxwxUCkWfRTLmWfCoEG28rQ0hqntXlWzslrYZjsRVIGulDoG6K21XqyUOgsI1VofAQxRSvWk5H8Gg6EtueUWvhwwkwlD97mLCov20/msq9G3L73Z4978/sdQEiihviFEYpq7+PFHrmEByfOuYunSRtrKyfEr+t0RThIooaSkAyaMnU5yLO23Mexz6H6rBeo8VoSR5x7MnXfKlDwgEeNo2XjqmGPgnXd8MqYqxREzM7zq9VgNXSkVDjwHZCmlTgemAG9Zuz8Bjg5S1wwGQxdH783n4n2P8d22BKZPt8p0DxHoffp4CfTegyKJD5UlVV6e6dnZrOQYAL577ReucrzA4w/ZJT7ondl+zYfEx1oCvQPu57Zt5OItcUcl5XltZzKk8eNtoeOUgttv92jZDaeeDsARR+x/99Jf+4f7exr5ZGUG1ysumBr6RcAvwIPAZOBqwLX+oAgI6FqglLpMKfW1Uurr/Pz8DumowWDoWnznHMr20jSeew7efz/YvelgEhK8BHp4OCRESVAZp1PKcnKgfNsetwf83jeXsbB6Ju/82zt6Wkm207/9WBHo+0r3Q3xs3gz/938tr//ee+RYJvfHH4cNG+DnBz7wqzZ5sizL9+Ott3j7lq/57jv/XYf8dTrPPAMvvtjy7gTiu+9g3V/fJYNMMjdWNn9AOxJMgX4I8KzWeg/wKrAC3NnnY2mkb1rrZ7XWE7XWE9N84/wZDAaD1mRWiD4waZIItDvukOnqHoFSpCKZWNJ7yTx3fLSYnktKgPp6fjO2jtgF91OEOHt9UzWGSqLZvsPbcW53kXdI2pAQICmJMfxC5p5odu5sZd9GjuS9814lN6eFmuynn7Ip5Uh694ZrroGxYyEkLcW9e5iV8/yMM+DSSwMcn5zM2fdNZPx4/11KwWWXQVyc/77WMH48TD6tN4PJJGt7cCPHBVOgbwW3rWQikIHHzP4bIKvju2QwGLo8lZU4kbe0y+t5/nxxKO8pHPHbSM5N+YxVq+UVnxArUVhKSkA/9TRFTu8Vyys4FoDs4hhqbBFid5dIJptLL5V7+N13wPDhnH+wOBq+/XYrOlVXx04GcAbvMeuClnnI795Rw9tFUznrLPvFeWzkroGLr3d7hzN2LIPJYsuuWB59NHjdCKZAfwGYqpRaAVyFzKHPUkr9AzgP+G8Q+2YwGLoqZWU4kQXJvuuSewoJy9/jrfzjGDrU2o4TzdHphIoft3rVncDXNFgR4DQh7Nhh7dCa3aXiNn7jjWLlOPhgQCmGnH0IGWSy5stWLF3buJF3EMlcuSWH6qOnUbu3uPH6WrMxL5k6HcY559jK09O56y4YnlHrzpgW9N85Lo5Z48Suv2xZ8LoRNIGutS7VWp+rtT5Wa32E1noHItTXAlO11p0wtJPBYOj0lJe7BfqBmlO7NLbF1fEJ8r2kBIorZb3WDTfAlp9rGMo2r8O2r8mD5cuhvJzdWqYu+ngnN4NRoziMdaxd3dDy6Gg//sg3SBCdqD2Z9Fr1Dr8/pYn6+/axpzY54PnnzYPNm7RboPsuVwsGY88Yzil8wI7M4OVID/o6dDta62Kt9VvWvLrBYDC0HktDj4qoIzw82J3pHCQkikB3OqG4QATOEUfAsDERpFAIwIgIWXO19eF3mTf1S567+nvm8DAQQAMeNYoT+YScvAjee6+FnfjpJ7YyDIBlHIeTBJZ+1UTM1d272Y1Icr8BBUBEhFug1wdPhnoYP54MMoPq6d6pBLrBYDAcMJZAj4/pDG/5zkFcksyZl5RAcZEIHFf88iksB2Da4O04qOQ/Ow7hHuZx2cuelcN+kdRGjOAiXqY3u3nn/1pwnxsa4MMP2RIy0qs4OdbjVV9fDx9+iCfPuiXQHRH1jZrUR8+aBHQCkzvA6NFkkEVJWRj79jVfvT0wAt1gMHQvysooJY74mM6VqzqYhCXEEEMZP/0Ehftkvtwl0M/L+Iq1HMa9F29mMJl85vRPRuKHw0HYIw8zgs1kbW0mfCzA11+z56e9FDYkE4knY1pJRbgIcK258aoqfv97+PRTa+feveyhN3161TcamnX+8/15+204/vjmu9DuDBtGRoi4/QcrYpwR6AaDoXvh0tDjg5z6qjMRH085sSxaBGdtvh+wZRhbtYrDPrmbBofhZgAAIABJREFUxBG9AsZtf+lvW/3KABg2jMFkkpnVggAze/dyH38lLLSBF+Zu5vzpxfyVe6lvCBFt9r33eMZaR15UZB1TWMgu+gY2t1tEREjClCZjsXcUERFk9JElAkagGwwGQ1vgFujB7kgnIoB3oFug9+0LJ5wAo0dzES8DMJXP3fUu+lMjSTl7y9rr3PwId8KTRnE62cA4Jh1UzYX3H8zrS5IYGy5ryAsKgE2bCKXesw1QWEgmgxk8rOskBc0YINdgBLrBYDC0BaWlOIknLsG83twEEOh+a7dHjeJkPuRjTmSBlTscgIyMwG2mpzOYTLRWzQeYcTopJIXUNI8qnRonpvf8fKChwS3QC8VHj+q8fexkIEOHd53fMXlQHLGqzAh0g8FgaBPy8ykimcS0DsjV3VUIsK7LL5FJSAhq7FhODFtG38QWhDDt1YsMK/5Xs0lJnE4KSCW1tycSXVq8mKcLCkCXOKlAgtgU5MtUSdbOEBoIZdiw5rvSWVD9+5FBFplB8nQ3At1gMHQr9J488kgnvY95vbkpKmIHA3mRPzZdb+1aKCwkoaGJgC8uIiMZnCju3M0JdF1iCfR0j/k8NVmcFgvyNeu2JFOP7MvZJpr7tl0SCXxIE7lXOh39+jFUb2XrpuA4ZJon3mAwdCtKckqpIZLevYPdk07EzJkMPPdwjmElABERjWiQsbEQH49qqOdoVvLw/LImm+17SDrhqrZZgV5RVEU1Dm+Tey8RP/n/XsoR78xxl7/7URTvvw/5RaLNpwdM09VJGTCA4Wzhl02hQUkKZAS6wWDoVmzdKab2LiUI2pteveCtt+jz2WsAnHJKM27hzz/PyiGXcNO8qCarhR4+iUE6i8ytdezZY1tD7oPLjJ6a6imL7h1PtKpg5xf+o4HvvoN9ThFPSU3Enul0jBvHcCthzOmnd3x+dCPQDQZDt6F6VyGTfnwBMAI9EDHHHcZPP8ErrzRTccYM2LYNQkObrnfQQQxnC0uXSjS3++8PXK2gUAYQKSm2wtRUUnUBG9Vod9GdKf8EwOGA4jIJ85eY2ExfOxPDhpERvsu9+e67HXt6I9ANBkO3YcXZj7m/G5N7YMaNg+joNmosJYWx/Eyxlb3t44+BnTtlGVxBAT/8AHl5sKtI4sd7rSlPSyONvfxc7xHoU8YVoGigbF8dxbUxxEdWNTum6FSEhXHCoYUsdpxLTGQt27d37OmNQDcYDN2D8nKWrfNIqv79g9iXnkJSEmP52b3pcAALFsCnn1L2zxcZP14GVpuLRDUfPNh2bFoacZSST5q7KDI+klhVTllBFcUkkRRjy+XaRVAL/8UpEZ8wvH6TMbkbDAZDq6mv551zX+c+fQsZvcpxOruYqbarkpzMSDa5Nx0OoHdv6gnhuRc84mV1/nBiwqq85tBJSyMc77CxfdIbiKWMsqIaEejxXTAe/6hRcOONDKnbxPZtHevtbgS6wWDo+rz2GmcvmQ1Av749PG1qR5KURB92uzcdDqC+ntk8z427bnaXr6g+jCGpTu8QrWlpXgFsdv5pPgMHaGJ1qVugJ/oGv+kqDBnCMLaybRuUl3fcaY1ANxgMXR693WPbjE2JDGJPehgJCaST596MjISG4hJe4mKvagWkMWawT7CaUaMYEbKNDYzlod9+wIAX5kNCAjGUU15UzT4SSUrpDEHa94PBgzmJJdTUhvDhhx13WiPQDQZDlydnvcezuLK268T+7vKEhhKV4BlARUbChu3R6ACi5c7rfXKKJiTA+PGM5RduPvFHd1ksZSz+cRA/M46U9C6a0H7oUI5hJf0SSvnll447rXnyDQZDl2fjz565Sr+Qpob2JTkZSuRrfT1s3hXjV2WwYxcjTx3hf+zf/gYLF8qibYCEBGrxCPF+Q7qotaVPH0JHjWBL35lE3fFBh53WPPoGg6HLs32vxCo/4wx47rkgd6anYUtrV1nRQEmJt5n8x2WF/JjfF6ICBKk54wxZrD12rGwnJJBLP/fuvgO7sM45fTpRqz6VUU4HYQS6wWDo2jidbK/qQ0RoHYsW0aWSeXQL0tMZZkVHqypvoKTUW6yM+21KoNwwgUlIIIcB7s1+/Zqo29kZNw6qq2k+FV3bYQS6wWDo2mRns42hDE6vMOb2YNC/Pz9xEGPZQFYWFJZ5m8lVa/zaEhNJZ497s2/ftuliUBg+XP5u3txhpzSPv8Fg6NpkZ7OdIQwdWBfsnvRMDj0UB9WkUMj3G8K4N/9SYsMq+fqDPbzxeivTiA4ezKoT7iTEyo3uFVmuqzHC8hkwAt1gMBhaht6eyXaGMGSUyX8eFK68Ek4+2Z3PHCDBUcOE3/dmxvmtXHYWEsLQx69nH4l8Nnh21w7fm54uARF27Wq+bhvRhT0ODAZDT6e2FjaucuIkgSEHtVIbNLQNISEwezYlH3qiwBRVH0Cw+BEjiLv7Fo475ZQ26FwQUQr27GnDwPnNYwS6wWDosjzwAPzt33MBGDqsiwYh6Q5ERVGCR6BX1h7A+vH/b+++46uu7j+Ovz4kjBBmIISNiMgQVIQiVVFE3Fqte1S0KLiptnXvgfan1lrFvYob67Z14EBxgAVUBAcqICOMMLMYWZ/fH+dmQRJCTHKTm/fz8biPfPc9J+tzz/d7zueYwTXXVEOh6oBaDOagW+4iUo8teG1u0fKuZQxzllqSkMAGlDw/2hTQRSSqpk+Hl16qwonp6bSY/REAU+75jr59q7VYsiMSEsihniaBiSEK6CISVfvsAyeeGJYXLgzzZ1fK+vVk0Iru7bI4+E/9a6x8UgkJCezGPADe5yDmTam9jmBSrErP0M2ssbvnbv9IEZEKLFoEhEmy3aFXL4iPD53dtmv9ejJpScvmtTtFpZQhLo6pHMAv7MRvxg6Cg+pz9/T6q6ot9PvN7C6zHUoZICJS2rvvFi2+/WRIKJJX2eHkkYDeqpV6t0ddUhLJrOE3tx0HjzyihPpRssMtdDPrD/wR+AowQH9NIlI1mZlFi0eevYOtug0byKQzrVspeERdx46wdi20bRvtkjRoO/SXYGZNgWeBzcBZ7q57XSJSdQsWVP3cwlvubeKqrzxSdUlJO5jnVarbjrbQHwMGAr8H9jazJ4AtQHnTyTQFmrr7kKoXUURi1f6TLyhz+6OPwmmnQeK2M3EWKwzoSfV0zmyRalapFrqZxZvZc8CJwKnu/iZQEHnll/MqINyO1y15EdlWdjafbNi9zF3jxsFNN23n/A0bQkBvq/xYIrCdFrqZ9QVaAY8CHYDD3P0jAHefBEyq6QKKSIz64APgd+XufvJJuPTS8ifo8LTVIaC30m1eEdh+C/1+YDrh1vnAwmAuIvKrff110eKN1+UxkG9K7V6zBnbvl1P2ue6kvTeHfOJpowRlIkAFAd3M4oBPgVRgV+AJM6vP082LSF0xcSJ+ww1Fq527xXPhbV23OWxNepOyx6S//z7//iV0zTnssJoqpEj9Um5Ad/d8d78B6AWMB34LfG1mowDMbJSZvWtmT5jZBDP7k5mdYmYDND5dpGE7+2x47LFydublwcUX8xtmAnD44eH4cVcmUZBXwKfdTi11+IoVZVxjwgSebTqGgbsVMHBg9ZZdpL7abqc4d89194lAf2Am8LaZjQbaAknAnsDxwJXA08AcYIGZnVdjpRaRuisjgyeegLFjy9+/go7MJrSwjzwy5CExA4trxL5/Kj0oJjV1q/MLClgycxUztuzF6WdoDLpIoUr/Nbj7auAowjj0JwjD0X7j7nu5e19370ToQHcYsBB4wMzeMbMWNVFwEamjyo3kEZmZTGP/otVWrbba361bqdXlkbTgufMXMn/waTx63Nt8sXEAAKNG/drCisSOHRrv4e4FZjaG0OP9UTNb6O6fl9i/CXgPeM/MrgImAG8CB259LTOLJwT+hZFNFwOXEO4E/Nfdb61CfUQkygoWLKr4gIwM5tOnaLVly632bzX4PHVpAaxZx/WD/8vfsp+DL+EUMoiPdwYM0NM9kUIVttDN7DozO7zktkh2uDOAb4C15Z3r7rcTAvo/yzlkd+B5dx/h7iOA3kCcu/8W2NnMele6FiJSZ2zsuHPFB2RksJ7iFKHNm2+1/8Diz/+NyCf12/Xw97/zWnZxc/wFTmX33aGpZuwUKVJuC93MWgJXAAlm9j0hME+hOFHMSYCbWfdyLtEI+Bew9Z9roWHAUWZ2IDCXkHHuxci+KcB+wE+VromIRIVPn0Fmh1606pUMQHbrzhWfsFVA37Rpq/0lIvwgvuI/b+1Cx0bJrG3ckVa2iYycBADGj1frXKSkinq5ZwJDgMsJQfxhwu3xRZFXyeWyXguAH4Gvt752xExglLsPBRoDhxOGyAGsA1LKOsnMxpnZLDObtXr16kpXVESq2ZNPwtCh/H2fl2i9SzIrw2RpZG/eTm71zMyigL7zzjB8+LaHfPMNTH4ml3E8wnfL2/DnZX9mdW5bLhpTHP2PO666KiISGyp8hu7uPwA/AH83s4OAa4EDgE3A3YRx6uVpBjSp4D2+cfctkeVZhPzwCZH1FpTzYcPdHwEeARgyZIjSyopEy5gxANzPZADWrQuTbmVnFs/ZtGVLGbfFMzJYz64cMGwLH00v+575wIEwcGBjlr+fHO7zRQw+OAkeCsvbPHsXaeAq3SnO3T8APjCz3wN3AVcTertf6u5ZVXjvp81sAjAPOBa4kHCbfQawBzC/CtcUkVpSgHENE/iFngBFCWBKBvT0dOjQofR5X33XlE/Yn2Pbl5UxprTOT04oFdB33jkE+wEDfm3pRWLPDs9q4O6vmtkHwFOEANykiu99M/AcYU71N4DXgE/MrDPh9vuwKl5XRGrBgjZD+NuGq4rWC5+FZ28sfra9fm0BHTqUvtl2wL3hXnmThMr9+5k7l6LkMT17htvxIrKtHQrokXSwSZEx6ceaWSd3X1fB8d3cfWlZ+9x9HqGne8njRwAHA3e4e/qOlE1EalFODgs2JJXatHFj+FoyoKfNX0+ffu2KD1q0iLj8NkAiP8yvXKe2kq3x1q2rWmCR2LejaZaaAMvNrCeAu5eVlBEAM0sE5kTGo1eKu6939xfdfeUOlktEatOKFfxEGFnaunE2EFroGzfCwszkosNSv93AQw9R1GGO1asZwDwARoyo/Ns99xzcckt1FFwkdu1oQM8H4oDGZtbfzN43swvMrKzPzScD4aO4iMSW5cv5mV1okZDHp8fcBcBRR0GXLnDpqiuLDpvyYTznnw/nnBPZkJGB4ezabSN33ln5tzv1VLj22mosv0gM2l5imW6R9K2vmNkrwEeEIWxZhKFmI4H7gFQz+4eZdYycFwdcRhh+tgN/tiJSLyxbxhK6071zHgltinuqb9hQ+rD/TQ39ZbOzIxvS08miBbv2zKNJVXvfiEiZtvcMvTlwCLA4su7As+6+3MwK76vdCeQB5wBjI7fYmwJ9gLF6Fi4Sg5YtYxV707FzHM3zMso8ZCcW8a3vBkD7xE1AAmRkkElLWrbRpCoi1a0yneLc3XtWsP87d3/KzP5G6Ln+D0LP9Wfc/fHqKKSI1DHLlrHKjmFYt3gSViws85Dd+LZoSFuL9GVAb0hPDwG9beNaLKxIw1BtH5MjY9FTgQJCQN9S8RkiUm8tW8YqUkhJMRKuGF/mIRfv+1XRcta6nLAQaaG3UEAXqXaVCehmZreY2Z/MbGgZ+xub2aFm9h5wO/AAcA0wxsz+XJ2FFZHocYcJE8K48KzFa8n2RDp2hCYj9inz+EM/vY65c2HP+LmkZ4QhavnrM9hIIi1b65a7SHWr7Dj0ayJf3cymAadSnFDmYUKL/DNgmLt/CWBmuwC3m9lUd/9q6wuKSP2SmRl6mt97L3weH1rcKSlgFQwnHzAAOjTLZENWe9LSYMvKEMiVtlWk+lX4Mdnd5xMCdyugK3AlITvcWxQPR3uXEMj3LwzmEZcBmwkBX0TquVWrwtdNaRl8ujw8G+9ezlyLJYN868Q8MjY3JiUFur9wB6CALlITtttCd/c8wjC1LOBOM9tImEHtK2AQsMzdt5kX3d3XmdnTwCAza+vu66u36CJSm1YtzQGakEkrzmISAIMGlT4mLS3kbu/Vq3hbq5ZO+prSsyiX3C8i1aPCgG5mKcD1QA6hk1vhrAtdgCNLHFfW6XmE4W5/KTGrmojUU6uuvx+4tNS2Nm1KH5OcDE89BQccULytdRtjQ35xk/yG652DDtJc5iLVbXst9DbA+RSPQ48HOgEl87M3jmxbstW5KYTx6POAt391SUUkqlZ99lPRcm9+5NYb8oD+APzjH9CpU9h3xhmlzxvaP4u7Z4UW+qVHzOfGm/rURnFFGpwdGoce6ej2Zclx6WbWF/h267HqZtYDWERoySugi9Rzq9r2g8iDs/EXFnDSjf2L9l1ySfnnnXhoBqc8FZb7HtipBkso0rDt6NgRr+Q2CGlfF1PcuheRemxNdrOi5Xb79q30eY06d6QZYW7Vtt3VG06kplRq2JqZDScMTesCxJVYB+gROSbF3VcVnuPumUBFGeZEpA7LzYX160MnN9LTycgpDuhJSeWft42OHWlFBptJoG2Snp2L1JTKBHQjTMpSuEyJ9ZLHLDezzcD3wAzgDeADd8//9cUUkdp25pnw/POQlwdxq1aRSXHrul27Ck7cWqdOtGQ1aaTQtm31l1NEgu0F9BXAGYQe7vmEXu5xhFv1hV/jCePU2wC9gd2A8wid6VLN7FJ3f7lGSi8iNcI9BHOAm8cuoXGzFmTQqmj/1r3bK9SqFX35hAXsQkJC9ZZTRIpVGNDdPQN4dkcvGhnuNhq4mtDLXUTqiWXLoFu34vWbnyzMHtO5aNsOtdDNeGpGH16asYl+/RTRRWpKjSRUdvdV7n4n0DOSbU5E6okffih/37EHrOOXX9jhW+dJe/dm3J8SKkwTKyK/To3OkODuG2ry+iJSvVasgBOO3lzu/nbtjB49arFAIlJpmvJIRIpcdx2kbw692Wfveuo2+1u2iavtIolIJSmgizRwG7/5mVF7Z3L++RBXIl53Gnf0Nse2bFvZCRpFpLYpoIs0cLP2GMMH/2vJQw9Bk8bFeaJanXQYkzmJ3vxIHHkAtGzXpLzLiEiUKaCLNGBr1sABTCtab/T17KLl5l3achL/5kf6kMQ6QLfcReoyBXSRBuzzj3JKrWd/9nXRsjUymDQJvvqK1XQAYPc91E1dpK7SAzGRBixn6SqgeND5SjqWPmD0aAAe42wW0ZN99rm2FksnIjtCLXSRBizr+zAT8m1cBcAKyp4N7Wye4Fauq7VyiciOUwtdpAHL/H4ZAJ06AitheYlscKVcdVV44C4idZYCukgDlrkoBOnOnRxWwko60TM5i2lftih94G23RaF0IrIjdMtdpAHLyiwg3vJo17lp0ba+PTbStWsUCyUiVaKALtKAZW6Kp0WTHFp2KZ5JrWVr/VsQqY/0lyvSwLjDPffAkp9zyMxtRstmubTsXjzbym79vIKzRaSu0jN0kQbkkUdgwQK44w64fUIcaZxFrybptOiZXHTM5X/Jj2IJRaSqFNBFGpBzzy1eTlsTsr4tWN2axJ4hccxBvE+zriOiUDIR+bUU0EWERt26sJjudGIFxOdGuzgiUgUK6CIN3CHD0qFjR7qzFE44IdrFEZEqUkAXacBGMJV3Xu0P8a0hNRXat492kUSkihTQRRqwnQcmYh1TwkrncrLEiUi9oGFrIg3Fd99ts6l7L81vLhIrFNBFGoopU7bZ1L2n5jcXiRVRD+hmlmJmX0WWHzez6WamORpFqluLFjQmh2TSOJEXAejeu+l2ThKR+iLqAR24C0gws+OAOHf/LbCzmfWOcrlEYopnZpFLEy4Y9hVdSAWg+24to1wqEakuUQ3oZjYSyAZWAiMg0myAKcB+5Zwzzsxmmdms1atX10o5RWLBlg2bAGh65CjaN8smnly6Dmy7nbNEpL6IWkA3sybAdcCVkU2JEGk2wDogpazz3P0Rdx/i7kOSk5PLOkREyrB5w2YAmiXGcf5X45j6fzNJaNssyqUSkeoSzWFrVwIPuPsGMwPIAhIi+1pQNx4HiMSMLRlbAGjWDJL6dmC/vh2iXCIRqU7RDOijgJFmdiGwJ9AdWArMAPYA5kexbCIxZ3NGDgBN1Q9OJCZFLaC7+/6Fy2b2EfA74BMz6wwcDgyLUtFEYtLmzJCjvZnusovEpDpxW9vdR7h7BqFj3AzgQHdPj26pRGLLynUhiYwCukhsqlOpX919PcU93UWkmqxfDyNm/x3QLXeRWFUnWugiUrOeu3Vh0bJa6CKxSQFdpAFIfXlG0XKcsr2KxCQFdJFYV1DAqiVbilZzc6NYFhGpMQroIrEuI4M0b0//lLVMmgSjRkW7QCJSE+pUpzgRqQHr17OKFLolb2L06GgXRkRqilroIrFuwwbS6EBK+4Jol0REapACukiM8/UhoHcoc3YEEYkVCugiMS5rRSabaE6HTureLhLLFNBFYlza0tDDPaWbMsqIxDIFdJEYl7Y8D4AOPRK2c6SI1Gfq5S4SiwoKyH75HW4bv5I2nUIgV0AXiW0K6CKx6I03eOqkd7mNB2Fl2JTSSTfkRGKZ/sJFYtEPPzCbwaU2JSdHqSwiUisU0EVi0YoVzGy0NwOYyzCmY+Y0aRLtQolITVJAF4lFy5ez3Lqw3wHxfH7Za+TlWbRLJCI1TM/QRWJQ59cfZE1+Ep1GJmHX/x8K5yKxTy10kRjjb73Nitz2AHTqFOXCiEitUUAXiTGb3/24aFkBXaThUEAXiTHp6/KLllu2jGJBRKRWKaCLxJgNq3OLlocMiWJBRKRWKaCLxJj09WGa1P/8BxITo1wYEak1CugiMSZ9gwPQunWUCyIitUoBXSTGpGeEQWoK6CINiwK6SIxJzwrzniugizQsCugisWLLFnDng+y9AQV0kYZGAV2kvnv2WWjblszEjrx+yVRe8FNo0SRHQ9ZEGhilfhWpz9atg3POgc2bOZCZzL43jFN7+P/W06hRSpQLJyK1SS10kfps8mTYvJmvnvue2RQPOt9pqIK5SEOjgC5Sn82axaFNprLXaX1p23xz0eYuXaJYJhGJCgV0abjWr+erez4iNTXaBSnHypX4iSeR/dTL5R6StWg1U3JG0Ls3vPbsxqLtyuEu0vAooEtsS0uDxYvD10I5OTBuHCQlsdelI9hzj4Kaee/p0+Hhh2HmzB07Lz8/lPmww/jHS11pcebxrJiTVuahqxaHVvk118D+xyYV9Wxv0uTXFFxE6iMFdIlt++wDO+0EvXqBhwxqvPMOmx59msu4A4A1a2vgz8Cdnw6+gL7nHcA3e4+F5csrd97ChdCnD+y0ExPn7MdfuBuA52/5ucz3WJWaB0BK5JH599/DnDnVUQERqW8U0CV2rVwJCxawgdaQlcWS829n0y+ryL/gYo6Pe427uOzXXT8nh42/P52Vh4wuvd0dFi/m+eyjmU9f9vCvub3rRNKXZVZ8PXd8yG9YvmAjv+sym4uZCEBT28Jdr/bilznppY9fu5ZVW0KTvGPHsKlTJ9h9919XLRGpnxTQJXa98QazGExbNmA4PR6+mrN6fsTE1GN5O//QosOaN82r/DVffx0eewxOPhl23ZWxrx1Bp/eeIj1tC6xbx8bDjmNYoy+Y1nM0WbQoOu1qv42+u+Sydv6asq+blwd77cVL60fSheW8mboXAH/4A7z30ELWFrRhn+GNWL26xDmvvMJKQiRPUad2EXH3evsaPHiwi5Tp3nvdwS9goocmc+nXvvu6f/BCmoN7t7YZlbvmwoW+mSaeSicvAP+UfYqu96cOz/nZcU/4mxy5zXudfnrp9V/+t8r9hx/cs7LcX3rJ/bzz3EeN8m8YUOq4G25wX7IkvPXMfca7ke83nPit/3zNE77hix/cmzXz65MfcLMCz82tse+kiNQhwCwvJyaaFz5XrIeGDBnis2bNinYxpK7Jz4fmzSEnh907rKDbkI6kpcGsWRAX53TpDD/MNxIabeGiZo/yfMIY1m5sXva1liyBzp0hPh5eeYVTjs9hMqdwUZ/3mDj/4O0WZfhwmDYtZGVt1ixsa042l3EnF/V8i1WLsokjn/u5kIlcXHTewoXQs2eJC/38M4f2W8yUvIMAOCnpPXZLn84N+dezxx7w9ddV/WaJSH1iZrPdfUhZ+3TLXWJPaippOa25/5RPmJvWkT594J134OOPYeVK47vvjYQEoGlTWjfZxLpNzbnggpB0rcjSpZCcDD16wA03hG1z5jCZUwAqFcw//DDkfSG8FXM+XAvARhK5iRs5b9HlDOBb+vFDqWAOWwVzgF124cG3dmJ4t18AeHHdwdyQfz0AN920I98cEYlVCuhSu9auhSOPhPHja+49Fi7kcc7mohf2A6B3b2jXDvbfH9q3h8TE4kPb9EwC4MEHYcqUyMbMTLjnHtLWGF8yCG67Df7979DULuFf/4KTTy6+w3XVVfDf/4bH7C+8AAceWHo8+O4HtuPcc6Fbt7D+MieUWfyzziq7Wjsf3IuPF+/Enwe+V7Rt/Xo45pjtfUNEpCGIakA3syQzO9jM2kezHFJLMjLgpJPgrbfgvvvCek1YuJCldCta7d69gmNPP61oMS0NePxxaNUK7r6bkS1nMpgv6RG/jMdOn0rOR58XHbvzznDmmfDCC0avXmHbWWfBEUfA734X+syV5aGHwl38jRvh3HNhxAj47LPi/Rs2hD535TGDY/55IBA+GLRpU0HdRKRBidrkLGbWFvgP8F/gbjMbCfwN6A/8191vjVbZpIb8/e/w4Yfk/+FMnnsmnxPunMiWuOY0b7SZJk0NLr88RKzK2H132LQJRo6EZcvC+ooVsHkzTJ5MKq/RooVz5JHGAQeUf5lGzROKlm+5uYCTs28hBchs1JpvM3sAsCSvC2N5gMntxsJauPTSUNRCkyfDE0/ALrtU/luRkBCCe6GVK8OrMlOe7n9gPNOmQdsoGxKvAAATMElEQVS2lX8/EYl9UesUZ2YHAFvcfYaZ3QXMBA5397PM7Angdnf/qaJrqFNcPZKbCwMHQkoK958wlYvGN+JO/sqDnM9xvMJJvMiQD+7ARh64/WulpkLXrqU2rSWJ5zmV81s/T9weAxjy43Mk79mFt9+u+FJbtsCbf3qfEx8eVeb+1q0hvcTw76FDQwK4RnpYJSJRUCc7xbn7x5Fgvj8wFDgUeDGyewqwX1nnmdk4M5tlZrNWlxqUK3VGdna4bf3008XbbrsN5s8n/bTzueOu8Gs3hz1YSC/u4jKGMpM3H1kRjr300pAytSR3mDQJnnkmtPQj3hz7Bvt2/YX2rOViJnL3NWsZ1+djZq/sUqn5wJs2hRP+WP6BS5eGR+qLFsGdd4Zn5ArmIlIXRXXYmpkZMBHoCqwB7nX3OWZ2CLCXu/+tovPVQq9DFi4MD3+vvhqOPz70MOvQAVatCvt/+1tw54/9ZvD009A0Po+NW0o/8TnDnuapmf1hSOTD54wZsPfeYfnf/w7P3yO+GjSGo376B8uzWpVbpJtvhuuuq1zxS97pP/30kEp90CC4997KnS8iUhsqaqHXiXHoZnYLcALwx0ir/Tigr7vfVtF5Cuh1yKhR8MEHoUv5T5EnJSkp8M03obfZoEHcN+Jlxr//Oy65BAb3zeaM8xJLXaIN60mjA/HksYJOdE7MCB8O5s4Nz8fj42HZMjaSQJvG2eTmbvu8/dZb4YADwvShnToVj/3ensMOg3ffDcubNlX+PBGR2lQnA7qZXQGscPenzOw+YBaQ7O53mdlNwHx3f66iayig1yEjR/L61JZ0Zjm/OaID7LVXiK4RafGdSckL85TOmwe77VZ2/7eXdr6cH1vsxdXfnMKbzU7kqM0vhR39+7N8wpOMv7cXzTNX8fSs/kXnTJ0ahohB8fwrOyovLzzmj4vTTGUiUndVFNCj1ssdeAR40czOAeYBrwHTzKwzcDgwLIplkx2VmMixvA7AlEEf03j4b3mxVR/uyxpD3Kkn8fGu18AN8M9/hmAOcMklcM89cP31ocf2xIlwwoI7ii45PmUyA/pdyE7XnM7Gvfbj6OHw5ZcA7WjfHtZE0qKPGBEmUxs7turFj48PLxGR+qpO3HIvFBnKdjAwzd1Xbu94tdDrji2D96HZl59vs/2RiTnMX9SEhx4KLfJ166Bx47DPPYwyS4iMHPv55zAZyRdflL7GEUeEoesA/fqFKULHji1+Pt6tGyIiDUJdbaFvw93XU9zTXeqR1CX5ZW4fd1Hx/et99y0O5hACfELxMHB22SX0g5s7N2yfMCE81/7223DskUeGvC8PPQSnnKJALiJSUp0K6FJPZWezZE3x5CZmISXpjBkhw+vo0XDttbDnnpW73MCB4euTTxZvy8kJX5s0CbfoRUSkNAV0+fW+/54lJVKtpqSEhCyHHgrz54db6wMHhqRuVaWOaiIiFVNAl8rLzISCgm3zk86bx88U5z296KLSu81CfnMREak5CuhSNvfwsHrTppC5DUL39NzcMCa8pGnTmB93BD27O5MmGfuVmeNPRERqkpJY1oaNG0kb/Vfmf1pLqWo3by6dgHxHffEFHHssXHAB/OUv4X73MceEPKgrV8Ls2cXHjh8PTz7J/DZ706+fMXx45edXERGR6qOAXhtefpm+T19N3+HJtfN+RxzB1DbHkp1VhSGJBQWsO+w07nhvEKvGXMULnExqXgdee7MRC+nJ/vYJ3+xzXpgf9LXX4KGHWLrrQfyQ1ZW+fau/KiIiUjm65V4bVq9mPUlAeARdqck9li4Nrd/ERLjpJoom3a6EJVN/ZiRLOP2wX3jmP222P2n2/Pkhgfm++8KJJ3L/htO4nhu54onSh7Vsnkfmxnge7j6B+189Cl58kQXthrLLj+8DoVEvIiLRoRZ6Ddsy8xuemlRQtP79fe9v/6S5c2HIEFa+Np1Fz34Gw4fD59smbSmTOwsIwX/GZ3n8uN8YeOSRkNsU4LvvQmaW3Nyw/vrrMHo0S2ev4vt7p8Dw4aTRASg9Zhwgc2P4/PfAz4ewc8eNXHDYQq7abxoAv/89enYuIhJN7l5vX4MHD/Zqc+mlXnDDjdV3vYgJXOWhh1nxa+MVN/qiU6/yeeMfdr/iCveCgvC6+Wb3ESPc+/b1c3mw6PgDms3wH1sPcb/zTvfPPqv4DVev9ocZW+r9fs/LPi95hPvJJ7s3bRo2du/u/umnXgC+mna+e/JyB/d9G33myZbmg/bM9/R09yVL3J991n3oUPchQ9w/+cT9tNPc99zTvXHjcKlzz632b5uIiJQBmOXlxMQ6lfp1R1Vn6tfjO3xCO9bySFo13jfOyOCy1g9zF5eV2nwwU3iPQwC4j4s45Nmz2LVLNmtGHM88BtCW9ezJnFLntLAsPvQD6TcgnhZzp8P06WFq0sWLybz1nyR6Fo3uuRuSkrj8yHncyeXbFOfu9rfRt2Uq12VdQcLqxdzLeN7iCK5lAhBmO83IcDZvNsaMCVnZCuXlbZvr/KefwjzhBx0UJjUREZGaVVHq16i3sn/Nqzpb6Kf2/p8nW5rnvfu+e3Z21S6yerXPv+xRX7wwz7/91j13+ky/iHu3aaFv/Tpv1w/cR4703zd6rWhbo0YFvmyZ+5o1oZXcvVu+g7uR75+9tcE/b7y/7810/x9DvAmbvX3cOj+PBzyTRB8W98V23xPcG7OlaDk52T093f2ZZ9z79XP/8cdq+9aKiEg1oYIWup6hRxw9bA2rPZlZh15d9dyi111HnzvPocfOcQwY4LwwaQtLIxnUxowp/7TpPyZx6YdH8WrBMUUZ0c47z+jSBdq1CznL336nEYftlYbTiM/u+pxXco/iC4YxlJnk0JShI5rzEOfTkixm5A/liisgOztMhvJEpHNb06ZhhrMFC+DqQ2aSS3iz6dPDxCitWoW+cd99F6Y1FxGR+kO33CMW/2sqO/3xQFqRzqZGieTkb38AwIQJ0LcvHH98ZMP552MPPbjNcUceUcB//hs+O/mGdBq3TSQ/MsDgtANX8PzUFAo/W337LSQnh2Rs26Q7zcykc+ssDvYpzLYhfOthHtJddw3nDRgAqanhA8Crr0KfPuG0ZcvCtpdeKi7rZ5+FTmxdu4YO9SIiUvfVm9nWoqn7CUNp8cdMMmgNBaF1m5hYwQmzZ3PttYOBcNMaIH9LXpmHHnNs8Y0Qa9Oag/bbyJRP43nhBRh1UEcW7/kLn6X2ZNo06N+/gvds2ZIB/TN56tszweHMM6FHj9Cqjo+HOXPCh4CtE7t07RqGy5Xc/pvfwKmnwmWlH++LiEg9pYAeYS0S6TekgJmRBv+KFWE6z/Jsuvhy4INS29Yuyd7muBkzYO+9S2979tXm3HILHH44tGplfLiwJ3PnwuDB2y/nxbd3ZvZZIZhff33pIeZNm5Z/3tZBvkkTeO657b+fiIjUDwroJfz+uEZFAX358ooD+vKWfYqWC3uAvzR/AAADBxQwd15olffrt+257dvDP/9ZvN6kSeWCOcDRR8OaNUqvKiIipalTXAlXXQVvn/saAJ/e8Tnrvl5CTg506gSTJ4djsrLC7epnFwwrOm/UfpvwTZu5cNnVANw3sRGvvw7jxoWOZtVNwVxERLamTnFb2TBnMW337AFAYvxmZp76D/o/fRUQnqvPvecDhl1zUKlzWjbPY+H1k0i+8mwAfvihuEOaiIhIdamoU5xa6FtpvXsPOrUKz8Kz85rx8tPFz8V37V2wTTA/icm0aprD4hlhStHTTlMwFxGR2qeAvhUz+G5xIpOGPwbApxQnKE9dXvrbdcGRv9CdJazLaszihfkA/PWvtVdWERGRQgroZWjTBo7fdyUA73JYmcds2AD3vtqdJNvAptzGfLS4JxCGkYmIiNQ2BfRyJPbquM22l26cx8scx4PXptK6NcQ1bkS7FlsAuC99NEfv8h1t29Z2SUVERDRsrXwlxpG9+vg6jh2TBAyA618u1c08aeMyAOLI45Vbv8esoswwIiIiNUMBvTyDBnHPXXlkboyLBPOIrcaMtdopCRbAwGY/EX/8MbVcSBERkUABvQJ/+sv2vz1J990ER8DxV/eBeD3BEBGR6FBA/5WGHJ7MrFmw114K5iIiEj0K6NWgsmlbRUREaoqalSIiIjFAAV1ERCQGKKCLiIjEAAV0ERGRGKCALiIiEgMU0EVERGKAArqIiEgMUEAXERGJAQroIiIiMUABXUREJAaYu0e7DFVmZquBxdV4yfbAmmq8Xl2j+tV/sV5H1a9+U/1qXg93Ty5rR70O6NXNzGa5+5Bol6OmqH71X6zXUfWr31S/6NItdxERkRiggC4iIhIDFNBLeyTaBahhql/9F+t1VP3qN9UvivQMXUREJAaohS4iIhIDFNBF6hgzSzKzg82sfbTLIiL1hwJ6hJk9bmbTzezaaJelOphZipl9UmJ9m/rVxzqbWWsze9vMppjZq2bWJFbqBmBmbYH/AEOBqWaWHEv1KxT5/fwqshxT9TOzeDNbYmYfRV4DY62OAGb2gJkdHVmOmfqZ2fklfnZfm9nD9aV+CuiAmR0HxLn7b4Gdzax3tMv0a0SCwiQgMbK+Tf3qcZ1PB+5290OAlcApxE7dAHYH/uzuE4B3gZHEVv0K3QUkxNjvZqHdgefdfYS7jwB6E2N1NLPhQEd3fzPWfobu/mCJn90nwALqSf0U0IMRwIuR5SnAftErSrXIB04GMiLrI9i2fmVtq/Pc/QF3fy+ymgz8gRipG4C7f+zuM8xsf0Ir/VBiqH4AZjYSyCZ8IBtBjNUPGAYcZWb/M7PHgVHEUB3NrDHwKPCLmR1DbP4MMbMuQArQlXpSPwX0IBFIjSyvI/wQ6y13z3D39BKbyqpfva6zmf0WaAssJfbqZoQPZOsBJ4bqZ2ZNgOuAKyObYu53E5gJjHL3oUBj4HBiq46jge+AOwgfOi8ktupX6ELgQerR76gCepAFJESWWxB735ey6ldv62xmScB9wBhirG4AHlwIfAPsQ2zV70rgAXffEFmPuZ8f8I27r4gszyLk/46lOg4CHnH3lcAzwDRiq36YWSPgQOAj6tHvaJ0oRB0wm+JbJnsAv0SvKDWirPrVyzpHWnj/Bq5y98XEUN0AzOwKMxsdWW0D/I0Yqh/h9vOFZvYRsCdwNLFVP4CnzWwPM4sDjiW09GKpjj8DO0eWhwA7EVv1AxgOfOEhUUu9+R8TH+0C1BGvAZ+YWWfC7bFhUS5PdSurfl7GtvrgbGAv4BozuwZ4EjgjRuoGIRPVi2Z2DjCP8LObFiv1c/f9C5cjQf13xM7vZqGbgecAA94gtv7+AB4HnjCzUwiPFEYAb8RQ/SD0XZkWWa43Pz9liouI9Aw/GJgWuZUUU8qqX6zUOZbrBqpffa8fxH4dVb+6UT8FdBERkRigZ+giIiIxQAFdREQkBiigi0iFzOx4Mzu2nH1xZnaGmamDrUiU6Rm6iFTIzH4ENrn7HmXsOx94ALjd3a+ObNubkPQnF8gh9Aguyyx331wzpRZpeBTQRRoIMxsI7FbGrmx3f7OC8+YSAvrQMvY1JmRGGwgc5O4fmdk7hGE/29PD3ZdUrvQisj26TSbScJwAXE/I9V8oDlgElBvQI8fnl7XD3XPN7M/AB8BYQmatcUBTQgt9C9u20P8K/IXQeheRaqKALtJw5Ea+7uLuv0BRcpdOkQx8zSLH5AH57l4QOT4fKIi0xpsBmwi5rPsBy9z9QzM7AXgVYHutbjPLiixuqaZ6iQgK6CINSV4F239HSKlbJMwRU0phi/pgIBOYTmjx3+LuL5tZizLOKeTunr31tkqWW0QqQQFdpOEoL6AXEHJTjyUE7VxCsC2IfP1bZPsthBb694QJKSC01gutI6QCLUsadWRGKpFYpYAu0nAUtoh7mVmzyHJzoMDdFwGPlXWSmV0BbHb350ps6xlZLPkhYSPwEnDjVpe4mzDNpojUIAV0kYajMKC/v9X2OYULkSFnS919eSWvVVIekOXuy0puNLONlH93QESqiQK6SMNR2Mmt51ad4tpElvsBnxPmuD6ziu/R1sz6brWtdRWvJSI7QJniRBqOuIp2uvv3wKOE6WgHVfE9RhOesZd8lZllTkSqlwK6SMNR3t97ya7ptxNup99Vxff4p7tbyRcwqYrXEpEdoFvuIg1HeS30okDv7ovN7GZC9jcRqUcU0EUajsKAvmir8eLfl1xx95uqeP14yn+Grv81IjVMf2QiDUdhQB8FpEaWnyLSKa4aNCc8Qx9dxr7V1fQeIlIOBXSRhqPw1vqCEr3cPwc6VsfF3b1JdVxHRKpGAV2k4VgHzKc4pzvufklFJ0Tyt3ckTOBSUvPI16r8Dyn8AFFQ4VEiskPUy12kgXD3e929r7unbu9YM+tmZguANUAX4JutDilM/VrpVrmZXWtmnwDnELLKbZ3bXUR+BbXQRWQb7r7UzJ4CdgE+A57Y6pAdDujAEmA/YCVwq7uXOSWriFSNuWvCIxGpeWbWFmjv7j9FuywisUgBXUREJAboGbqIiEgMUEAXERGJAQroIiIiMUABXUREJAYooIuIiMSA/wdHr2RnfWMCJwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig3 = plt.figure(figsize=(8,5))\n",
    "real_price = plt.plot([i*max(price) for i in y],color = 'red',label='实际价格')\n",
    "predict_price = plt.plot(y_train_predict,color = 'blue',label='预测价格')\n",
    "plt.title('中国平安股票价格预测(训练数据)',font2)\n",
    "plt.xlabel('时间',font2)\n",
    "plt.ylabel('股价',font2)\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_test = pd.read_csv('zgpa_test.csv')\n",
    "data_test.head()\n",
    "price_test = data_test.loc[:,'close']\n",
    "X_test,y_test = extract_data(price_test/max(price),sequence_length)\n",
    "y_predict_test = model.predict(X_test)\n",
    "y_predict_test = y_predict_test*max(price)\n",
    "y_test = [i*max(price) for i in y_test]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "fig4 = plt.figure(figsize=[8,5])\n",
    "plt.plot(y_test, color = 'red', label = '实际价格')\n",
    "plt.plot(y_predict_test, color = 'blue', label = '预测价格')\n",
    "plt.legend()\n",
    "plt.title('中国平安股票价格预测(测试数据)',font2)\n",
    "plt.xlabel('时间',font2)\n",
    "plt.ylabel('股价',font2)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_predict_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "result = np.concatenate((np.array(y_test).reshape(-1,1),y_predict_test),axis = 1)\n",
    "result = pd.DataFrame(result,columns=['real_price','predicted_price'])\n",
    "result.head()\n",
    "result.to_csv('zgpa_predict3.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "RNN预测股价实战summary：\n",
    "1、通过搭建RNN模型，实现了基于历史数据对次日股价的预测；\n",
    "2、熟悉了RNN模型的数据格式结构；\n",
    "3、掌握了数字序列的数据预处理方法；\n",
    "4、实现了预测数据存储，通过可视化局部细节了解了RNN用于股价预测的局限性：信息延迟\n",
    "5、RNN模型参考资料：https://keras.io/layers/recurrent/"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
